summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-01-26 16:37:53 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-01-26 16:39:22 -0500
commit0f46d7b1076550054491d8668a7fcc9d21271574 (patch)
tree189fb7c197027b2d381a9c69b80482bd85565284
parentb9464fc4db72c8a812fdc5fe858db3c34d5d16f1 (diff)
ignore context menu click events, notably during drag but also for a couple of other purposes
Conflicts: gtk2_ardour/editor_canvas_events.cc
-rw-r--r--gtk2_ardour/editor_canvas_events.cc18
-rw-r--r--gtk2_ardour/editor_mouse.cc32
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 */