diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index e49ac463da..dd28afb104 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -349,7 +349,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it break; case StreamItem: - commit = set_selected_track_from_click (press, op, true); + // commit = set_selected_track_from_click (press, op, true); break; case AutomationTrackItem: @@ -508,10 +508,9 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp break; case MouseObject: - if (Keyboard::modifier_state_contains (event->button.state, - Keyboard::ModifierMask(Keyboard::Control|Keyboard::Alt)) - && event->type == GDK_BUTTON_PRESS) { - + if (Keyboard::modifier_state_contains (event->button.state, Keyboard::ModifierMask(Keyboard::Control|Keyboard::Alt)) && + event->type == GDK_BUTTON_PRESS) { + start_rubberband_select (item, event); } else if (event->type == GDK_BUTTON_PRESS) { diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index ba0d51e606..baf2731e57 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -209,9 +209,9 @@ Selection::toggle (RegionView* r) RegionSelection::iterator i; if ((i = find (regions.begin(), regions.end(), r)) == regions.end()) { - regions.add (r); + add (r); } else { - regions.erase (i); + remove (*i); } RegionsChanged (); @@ -224,9 +224,9 @@ Selection::toggle (vector& r) for (vector::iterator x = r.begin(); x != r.end(); ++x) { if ((i = find (regions.begin(), regions.end(), (*x))) == regions.end()) { - regions.add ((*x)); + add ((*x)); } else { - regions.erase (i); + remove (*x); } } @@ -322,6 +322,7 @@ Selection::add (RegionView* r) { if (find (regions.begin(), regions.end(), r) == regions.end()) { regions.add (r); + add (&r->get_trackview()); RegionsChanged (); } }