summaryrefslogtreecommitdiffstats
path: root/src/node-context.cpp
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2007-07-29 19:18:19 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2007-07-29 19:18:19 +0000
commit3938195b9b488c13712db72f0c582d202bc4e669 (patch)
tree2e7b2bf59262c1cf6ee45cd6d201ca20353f7a98 /src/node-context.cpp
parentoptional panning by space (diff)
downloadinkscape-3938195b9b488c13712db72f0c582d202bc4e669.tar.gz
inkscape-3938195b9b488c13712db72f0c582d202bc4e669.zip
due to the order of processing events, we must disable lmb handling in children contexts so that parent event context can handle it for space panning
(bzr r3341)
Diffstat (limited to 'src/node-context.cpp')
-rw-r--r--src/node-context.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/node-context.cpp b/src/node-context.cpp
index 352bac584..3084cdb29 100644
--- a/src/node-context.cpp
+++ b/src/node-context.cpp
@@ -199,7 +199,7 @@ sp_node_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEve
switch (event->type) {
case GDK_2BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
- if (event->button.button == 1) {
+ if (event->button.button == 1 && !event_context->space_panning) {
if (!nc->drag) {
// find out clicked item, disregarding groups, honoring Alt
@@ -257,7 +257,7 @@ sp_node_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEve
}
break;
case GDK_BUTTON_PRESS:
- if (event->button.button == 1 && !(event->button.state & GDK_SHIFT_MASK)) {
+ if (event->button.button == 1 && !(event->button.state & GDK_SHIFT_MASK) && !event_context->space_panning) {
// save drag origin
event_context->xp = (gint) event->button.x;
event_context->yp = (gint) event->button.y;
@@ -316,7 +316,7 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event)
switch (event->type) {
case GDK_BUTTON_PRESS:
- if (event->button.button == 1) {
+ if (event->button.button == 1 && !event_context->space_panning) {
// save drag origin
event_context->xp = (gint) event->button.x;
event_context->yp = (gint) event->button.y;
@@ -333,7 +333,7 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
break;
case GDK_MOTION_NOTIFY:
- if (event->motion.state & GDK_BUTTON1_MASK) {
+ if (event->motion.state & GDK_BUTTON1_MASK && !event_context->space_panning) {
if ( event_context->within_tolerance
&& ( abs( (gint) event->motion.x - event_context->xp ) < event_context->tolerance )
@@ -413,7 +413,7 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event)
break;
case GDK_BUTTON_RELEASE:
event_context->xp = event_context->yp = 0;
- if (event->button.button == 1) {
+ if (event->button.button == 1 && !event_context->space_panning) {
NR::Maybe<NR::Rect> b = Inkscape::Rubberband::get()->getRectangle();