summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2015-07-25 14:14:12 +0000
committerDiederik van Lierop <mail@diedenrezi.nl>2015-07-25 14:14:12 +0000
commitdc77ca9ec48c72a20fbd3f9ae038f41e01d98216 (patch)
treec13973837cd8bcd2d5d5f76f55cbfd6cc116eadc /src
parent3D box tool: the shift key must not prevent snapping of the vanishing point. ... (diff)
downloadinkscape-dc77ca9ec48c72a20fbd3f9ae038f41e01d98216.tar.gz
inkscape-dc77ca9ec48c72a20fbd3f9ae038f41e01d98216.zip
SPKnot no longer consumes all GDK_KEY_PRESS events
Fixed bugs: - https://launchpad.net/bugs/1164964 (bzr r14255)
Diffstat (limited to 'src')
-rw-r--r--src/knot.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/knot.cpp b/src/knot.cpp
index b3813ab53..92d14afb9 100644
--- a/src/knot.cpp
+++ b/src/knot.cpp
@@ -206,6 +206,8 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot
return true;
}
+ bool key_press_event_unconsumed = FALSE;
+
knot_ref(knot);
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -355,6 +357,7 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot
break;
default:
consumed = FALSE;
+ key_press_event_unconsumed = TRUE;
break;
}
break;
@@ -364,7 +367,11 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot
knot_unref(knot);
- return consumed || grabbed;
+ if (key_press_event_unconsumed) {
+ return false; // e.g. in case "%" was pressed to toggle snapping, or Q for quick zoom (while dragging a handle)
+ } else {
+ return consumed || grabbed;
+ }
}
void sp_knot_handler_request_position(GdkEvent *event, SPKnot *knot) {