diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index d874aba2ef..034619c932 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -505,8 +505,6 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp Selection::Operation op = ArdourKeyboard::selection_type (event->button.state); bool press = (event->type == GDK_BUTTON_PRESS); - // begin_reversible_command (_("select on click")); - switch (item_type) { case RegionItem: if (mouse_mode != MouseRange || _join_object_range_state == JOIN_OBJECT_RANGE_OBJECT) { @@ -1501,9 +1499,11 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT default: break; - + } + /* do any (de)selection operations that should occur on button release */ + button_selection (item, event, item_type); return true; break; @@ -1548,6 +1548,9 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT default: break; } + + cerr << "button release hits bottom\n"; + return false; } diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index be7daf4ce4..72c115738c 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -522,7 +522,6 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op, switch (op) { case Selection::Toggle: - if (selection->selected (clicked_regionview)) { if (press) { @@ -533,11 +532,10 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op, button_release_can_deselect = true; } else { - if (button_release_can_deselect) { /* just remove this one region, but only on a permitted button release */ - + selection->remove (clicked_regionview); commit = true;