diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2015-07-16 16:13:24 -0500 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2015-07-16 16:13:24 -0500 |
commit | 46c83693284ece4a732d26e62113ea4ac584d539 (patch) | |
tree | 6e191e809b84b1c4d2aa36af6e8878996a109332 /gtk2_ardour/editor_selection.cc | |
parent | edce75973c076ab1fa66cc6d601a30fcbbcd5dd4 (diff) | |
parent | d9c0aa4236796d981a5d939bbc5d0d5a2e1910fe (diff) |
merge fix
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r-- | gtk2_ardour/editor_selection.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 5bb777d739..44794313a0 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -326,19 +326,23 @@ Editor::set_selected_control_point_from_click (bool press, Selection::Operation if (!clicked_control_point) { return false; } + bool ret = false; switch (op) { case Selection::Set: if (press) { selection->set (clicked_control_point); + ret = true; } break; case Selection::Add: if (press) { selection->add (clicked_control_point); + ret = true; } break; case Selection::Toggle: + /* This is a bit of a hack; if we Primary-Click-Drag a control point (for push drag) we want the point we clicked on to be selected, otherwise we end up confusingly dragging an @@ -353,9 +357,11 @@ Editor::set_selected_control_point_from_click (bool press, Selection::Operation */ selection->toggle (clicked_control_point); _control_point_toggled_on_press = true; + ret = true; } else if (!press && !_control_point_toggled_on_press) { /* This is the release, and the point wasn't toggled on the press, so do it now */ selection->toggle (clicked_control_point); + ret = true; } else { /* Reset our flag */ _control_point_toggled_on_press = false; @@ -366,7 +372,7 @@ Editor::set_selected_control_point_from_click (bool press, Selection::Operation break; } - return true; + return ret; } void |