diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index e8bce456e8..96d02e817c 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -3232,7 +3232,13 @@ RubberbandSelectDrag::finished (GdkEvent* event, bool movement_occurred) } } - if (do_deselect) { + /* do not deselect if Primary or Tertiary (toggle-select or + * extend-select are pressed. + */ + + if (!Keyboard::modifier_state_contains (event->button.state, Keyboard::PrimaryModifier) && + !Keyboard::modifier_state_contains (event->button.state, Keyboard::TertiaryModifier) && + do_deselect) { deselect_things (); }