From 3938195b9b488c13712db72f0c582d202bc4e669 Mon Sep 17 00:00:00 2001 From: bulia byak Date: Sun, 29 Jul 2007 19:18:19 +0000 Subject: 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) --- src/pencil-context.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/pencil-context.cpp') diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp index 5ce9a171e..c32a6107a 100644 --- a/src/pencil-context.cpp +++ b/src/pencil-context.cpp @@ -197,7 +197,8 @@ static gint pencil_handle_button_press(SPPencilContext *const pc, GdkEventButton const &bevent) { gint ret = FALSE; - if ( bevent.button == 1 ) { + SPEventContext *event_context = SP_EVENT_CONTEXT(pc); + if ( bevent.button == 1 && !event_context->space_panning) { SPDrawContext *dc = SP_DRAW_CONTEXT (pc); SPDesktop *desktop = SP_EVENT_CONTEXT_DESKTOP(dc); @@ -257,8 +258,9 @@ pencil_handle_motion_notify(SPPencilContext *const pc, GdkEventMotion const &mev gint ret = FALSE; SPDesktop *const dt = pc->desktop; - if (mevent.state & GDK_BUTTON2_MASK || mevent.state & GDK_BUTTON3_MASK) { - // allow middle-button scrolling + SPEventContext *event_context = SP_EVENT_CONTEXT(pc); + if (event_context->space_panning || mevent.state & GDK_BUTTON2_MASK || mevent.state & GDK_BUTTON3_MASK) { + // allow scrolling return FALSE; } @@ -340,7 +342,8 @@ pencil_handle_button_release(SPPencilContext *const pc, GdkEventButton const &re { gint ret = FALSE; - if ( revent.button == 1 && pc->is_drawing) { + SPEventContext *event_context = SP_EVENT_CONTEXT(pc); + if ( revent.button == 1 && pc->is_drawing && !event_context->space_panning) { SPDesktop *const dt = pc->desktop; pc->is_drawing = false; -- cgit v1.2.3