diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-01-26 16:37:53 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-01-26 16:39:22 -0500 |
commit | 0f46d7b1076550054491d8668a7fcc9d21271574 (patch) | |
tree | 189fb7c197027b2d381a9c69b80482bd85565284 /gtk2_ardour | |
parent | b9464fc4db72c8a812fdc5fe858db3c34d5d16f1 (diff) |
ignore context menu click events, notably during drag but also for a couple of other purposes
Conflicts:
gtk2_ardour/editor_canvas_events.cc
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_canvas_events.cc | 18 | ||||
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 32 |
2 files changed, 29 insertions, 21 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index c1696c9f6c..18e07cc2f2 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -176,21 +176,25 @@ Editor::canvas_scroll_event (GdkEventScroll *event, bool from_canvas) } bool -Editor::track_canvas_button_press_event (GdkEventButton */*event*/) +Editor::track_canvas_button_press_event (GdkEventButton *event) { - begin_reversible_selection_op (_("Clear Selection Click (track canvas)")); - selection->clear (); - commit_reversible_selection_op(); _track_canvas->grab_focus(); + if (!Keyboard::is_context_menu_event (event)) { + begin_reversible_selection_op (_("Clear Selection Click (track canvas)")); + selection->clear (); + commit_reversible_selection_op(); + } return false; } bool Editor::track_canvas_button_release_event (GdkEventButton *event) { - if (_drags->active ()) { - _drags->end_grab ((GdkEvent*) event); - } + if (!Keyboard::is_context_menu_event (event)) { + if (_drags->active ()) { + _drags->end_grab ((GdkEvent*) event); + } + } return false; } diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 27d538a527..e17ddfb41e 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1191,20 +1191,24 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT return true; } - /* see if we're finishing a drag */ - - bool were_dragging = false; - if (_drags->active ()) { - bool const r = _drags->end_grab (event); - if (r) { - /* grab dragged, so do nothing else */ - return true; - } - - were_dragging = true; - } - - update_region_layering_order_editor (); + bool were_dragging = false; + + if (!Keyboard::is_context_menu_event (&event->button)) { + + /* see if we're finishing a drag */ + + if (_drags->active ()) { + bool const r = _drags->end_grab (event); + if (r) { + /* grab dragged, so do nothing else */ + return true; + } + + were_dragging = true; + } + + update_region_layering_order_editor (); + } /* edit events get handled here */ |