From 7bf204ae2ff892315b88fb170ae57bb92415ce54 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Krzysztof=20Kosi=C5=84ski?= Date: Mon, 1 Nov 2010 00:17:32 +0100 Subject: [PATCH] Prevent context menu and keyboard shortcuts from interrupting grabs --- src/knot.cpp | 2 +- src/ui/tool/control-point.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/knot.cpp b/src/knot.cpp index 10672e048..824f16c3e 100644 --- a/src/knot.cpp +++ b/src/knot.cpp @@ -447,7 +447,7 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot g_object_unref(knot); - return consumed; + return consumed || grabbed; } void sp_knot_handler_request_position(GdkEvent *event, SPKnot *knot) diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp index b74e3bc9c..28c679985 100644 --- a/src/ui/tool/control-point.cpp +++ b/src/ui/tool/control-point.cpp @@ -329,7 +329,7 @@ bool ControlPoint::_eventHandler(GdkEvent *event) _setState(STATE_CLICKED); return true; } - return false; + return _event_grab; case GDK_2BUTTON_PRESS: // store the button number for next release @@ -452,8 +452,9 @@ bool ControlPoint::_eventHandler(GdkEvent *event) default: break; } - - return false; + + // do not propagate events during grab - it might cause problems + return _event_grab; } void ControlPoint::_setMouseover(ControlPoint *p, unsigned state) -- 2.30.2