summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_ui.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-02-26 18:22:39 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-02-26 18:24:56 +0100
commit7cd70e0c916fe34a03ef65d287eb7447419d83c3 (patch)
treeb771a8faa4be3a1d6035564bd1c8b06b6cc944bb /gtk2_ardour/mixer_ui.cc
parentf64441aa58ce5b17e2665be355b940633fde3c81 (diff)
make sure that when extending the selection in the editor and mixer, the clicked-upon track gets set_selected() called last
This makes it be the "first" selected strip for control surfaces and the editor mixer
Diffstat (limited to 'gtk2_ardour/mixer_ui.cc')
-rw-r--r--gtk2_ardour/mixer_ui.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index f197ba34a2..1e39b4bbaa 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -928,8 +928,6 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip)
bool accumulate = false;
bool found_another = false;
- tmp.push_back (strip);
-
OrderingKeys sorted;
const size_t cmp_max = strips.size ();
for (list<MixerStrip*>::iterator i = strips.begin(); i != strips.end(); ++i) {
@@ -970,12 +968,16 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip)
}
}
+ tmp.push_back (strip);
+
if (found_another) {
+ PresentationInfo::ChangeSuspender cs;
for (vector<MixerStrip*>::iterator i = tmp.begin(); i != tmp.end(); ++i) {
_selection.add (*i);
}
- } else
+ } else {
_selection.set (strip); //user wants to start a range selection, but there aren't any others selected yet
+ }
} else {
_selection.set (strip);
}