diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-01-28 11:20:05 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-01-28 11:20:05 +0100 |
commit | 08bca2a07d009c25f8cfec29dbe87682fc1af22c (patch) | |
tree | a38c9327373a665461ca527d23ef7ca6049f0526 /gtk2_ardour/selection.cc | |
parent | 8ca53c4497c6e1c3e18bec8c3338fbf6ce38c4f8 (diff) |
minor logic changes to editor selection
Prevent mulitple PresentationInfo::Change signals if toggling several
tracks
Diffstat (limited to 'gtk2_ardour/selection.cc')
-rw-r--r-- | gtk2_ardour/selection.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index 36a4a087a9..27a062e87d 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -271,6 +271,8 @@ Selection::toggle (boost::shared_ptr<Playlist> pl) void Selection::toggle (const TrackViewList& track_list) { + PresentationInfo::ChangeSuspender cs; + for (TrackViewList::const_iterator i = track_list.begin(); i != track_list.end(); ++i) { toggle ((*i)); } @@ -282,11 +284,11 @@ Selection::toggle (TimeAxisView* track) TrackSelection::iterator i; if ((i = find (tracks.begin(), tracks.end(), track)) == tracks.end()) { - track->set_selected (true); tracks.push_back (track); + track->set_selected (true); } else { - track->set_selected (false); tracks.erase (i); + track->set_selected (false); } } |