diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index f262989992..33577216ef 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -6730,6 +6730,19 @@ MidiRubberbandSelectDrag::deselect_things () /* XXX */ } +void +MidiRubberbandSelectDrag::finished (GdkEvent* ev, bool movement_occurred) +{ + if (!movement_occurred) { + MidiRegionView* mrv = dynamic_cast (_midi_view); + if (mrv) { + mrv->editing_context().get_selection().set (mrv); + } + } + + RubberbandSelectDrag::finished (ev, movement_occurred); +} + MidiVerticalSelectDrag::MidiVerticalSelectDrag (EditingContext& ec, MidiView* mv) : RubberbandSelectDrag (ec, mv->drag_group (), [](GdkEvent*,timepos_t const &) { return true; }) , _midi_view (mv) diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h index 87328eb9b4..8b320668e1 100644 --- a/gtk2_ardour/editor_drag.h +++ b/gtk2_ardour/editor_drag.h @@ -1323,6 +1323,7 @@ class MidiRubberbandSelectDrag : public RubberbandSelectDrag void select_things (int, Temporal::timepos_t const &, Temporal::timepos_t const &, double, double, bool); void deselect_things (); + void finished (GdkEvent *, bool); private: MidiView* _midi_view;