summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2014-11-19 17:27:13 -0600
committerBen Loftis <ben@harrisonconsoles.com>2014-11-19 17:27:13 -0600
commit4ffdc99c5fee8e8f62cddd4f815b132c06c83711 (patch)
treeb78b2103d9a31502fc008ab0a9b152682f81fb83 /gtk2_ardour
parente3e85a92dbb1bbca64d3e183ab9adefa32c49a6c (diff)
fix range selection of mixer strips; shift+selecting a single strip would select from there til the end
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/mixer_ui.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 626d2f68a8..1e175d2fd3 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -676,6 +676,7 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip)
vector<MixerStrip*> tmp;
bool accumulate = false;
+ bool found_another = false;
tmp.push_back (strip);
@@ -694,6 +695,7 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip)
/* hit selected strip. if currently accumulating others,
we're done. if not accumulating others, start doing so.
*/
+ found_another = true;
if (accumulate) {
/* done */
break;
@@ -707,9 +709,12 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip)
}
}
- for (vector<MixerStrip*>::iterator i = tmp.begin(); i != tmp.end(); ++i) {
- _selection.add (*i);
- }
+ if (found_another) {
+ for (vector<MixerStrip*>::iterator i = tmp.begin(); i != tmp.end(); ++i) {
+ _selection.add (*i);
+ }
+ } else
+ _selection.set (strip); //user wants to start a range selection, but there aren't any others selected yet
}
} else {