summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor.h2
-rw-r--r--gtk2_ardour/editor_mouse.cc2
-rw-r--r--gtk2_ardour/editor_selection.cc6
3 files changed, 7 insertions, 3 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 177f862939..587c2c5b7c 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -652,7 +652,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void select_all_tracks ();
void select_all_internal_edit (Selection::Operation);
- bool set_selected_control_point_from_click (Selection::Operation op = Selection::Set, bool no_remove=false);
+ bool set_selected_control_point_from_click (bool press, Selection::Operation op = Selection::Set);
void set_selected_track_from_click (bool press, Selection::Operation op = Selection::Set, bool no_remove=false);
void set_selected_track_as_side_effect (Selection::Operation op);
bool set_selected_regionview_from_click (bool press, Selection::Operation op = Selection::Set);
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index b789a424f1..bd5cdd3f8f 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -655,7 +655,7 @@ Editor::button_selection (ArdourCanvas::Item* /*item*/, GdkEvent* event, ItemTyp
case ControlPointItem:
set_selected_track_as_side_effect (op);
if (doing_object_stuff() || (mouse_mode != MouseRange && mouse_mode != MouseObject)) {
- set_selected_control_point_from_click (op, false);
+ set_selected_control_point_from_click (press, op);
}
break;
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index f788ef1f9d..fe93516063 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -314,12 +314,16 @@ Editor::set_selected_track_from_click (bool press, Selection::Operation op, bool
}
bool
-Editor::set_selected_control_point_from_click (Selection::Operation op, bool /*no_remove*/)
+Editor::set_selected_control_point_from_click (bool press, Selection::Operation op)
{
if (!clicked_control_point) {
return false;
}
+ if (!press) {
+ return true;
+ }
+
switch (op) {
case Selection::Set:
selection->set (clicked_control_point);