diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-02-26 18:22:39 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-02-26 18:24:56 +0100 |
commit | 7cd70e0c916fe34a03ef65d287eb7447419d83c3 (patch) | |
tree | b771a8faa4be3a1d6035564bd1c8b06b6cc944bb /gtk2_ardour/mixer_ui.cc | |
parent | f64441aa58ce5b17e2665be355b940633fde3c81 (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.cc | 8 |
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); } |