diff options
Diffstat (limited to 'libs/ardour/presentation_info.cc')
-rw-r--r-- | libs/ardour/presentation_info.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/presentation_info.cc b/libs/ardour/presentation_info.cc index 25048eaf98..e3e7700d40 100644 --- a/libs/ardour/presentation_info.cc +++ b/libs/ardour/presentation_info.cc @@ -43,6 +43,7 @@ PBD::Signal1<void,PropertyChange const &> PresentationInfo::Change; Glib::Threads::Mutex PresentationInfo::static_signal_lock; int PresentationInfo::_change_signal_suspended = 0; PBD::PropertyChange PresentationInfo::_pending_static_changes; +int PresentationInfo::selection_counter = 0; namespace ARDOUR { namespace Properties { @@ -243,8 +244,10 @@ PresentationInfo::set_selected (bool yn) if (yn != selected()) { if (yn) { _flags = Flag (_flags | Selected); + _selection_cnt = g_atomic_int_add (&selection_counter, 1); } else { _flags = Flag (_flags & ~Selected); + _selection_cnt = 0; } send_change (PropertyChange (Properties::selected)); send_static_change (PropertyChange (Properties::selected)); |