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 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::iterator i = tmp.begin(); i != tmp.end(); ++i) { - _selection.add (*i); - } + if (found_another) { + for (vector::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 {