diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/knot.cpp | 2 | ||||
| -rw-r--r-- | 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) |
