summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-01-28 11:20:05 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-01-28 11:20:05 +0100
commit08bca2a07d009c25f8cfec29dbe87682fc1af22c (patch)
treea38c9327373a665461ca527d23ef7ca6049f0526 /gtk2_ardour
parent8ca53c4497c6e1c3e18bec8c3338fbf6ce38c4f8 (diff)
minor logic changes to editor selection
Prevent mulitple PresentationInfo::Change signals if toggling several tracks
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/selection.cc6
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);
}
}