diff options
| author | Josh Andler <scislac@gmail.com> | 2012-01-23 21:04:53 +0000 |
|---|---|---|
| committer | Josh Andler <scislac@gmail.com> | 2012-01-23 21:04:53 +0000 |
| commit | 0af058549f04f34689625eb5b767613f89eb0dc6 (patch) | |
| tree | d2bf2e1a54226c25cb7feb2af625466ee0ba5e7d /src/ui/tool/selector.cpp | |
| parent | Revert accidental commit in desktop-widget.cpp (diff) | |
| download | inkscape-0af058549f04f34689625eb5b767613f89eb0dc6.tar.gz inkscape-0af058549f04f34689625eb5b767613f89eb0dc6.zip | |
Patch from John Smith for 623660
(bzr r10921)
Diffstat (limited to 'src/ui/tool/selector.cpp')
| -rw-r--r-- | src/ui/tool/selector.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/ui/tool/selector.cpp b/src/ui/tool/selector.cpp index fdd0fc51f..f5448b48a 100644 --- a/src/ui/tool/selector.cpp +++ b/src/ui/tool/selector.cpp @@ -41,12 +41,12 @@ public: gtk_object_destroy(_rubber); } SPDesktop *desktop() { return _desktop; } - bool event(GdkEvent *e) { - return _eventHandler(e); + bool event(SPEventContext *ec, GdkEvent *e) { + return _eventHandler(ec, e); } protected: - virtual bool _eventHandler(GdkEvent *event) { + virtual bool _eventHandler(SPEventContext *event_context, GdkEvent *event) { if (event->type == GDK_KEY_PRESS && shortcut_key(event->key) == GDK_Escape && sp_canvas_item_is_visible(_rubber)) { @@ -54,7 +54,7 @@ protected: sp_canvas_item_hide(_rubber); return true; } - return ControlPoint::_eventHandler(event); + return ControlPoint::_eventHandler(event_context, event); } private: @@ -99,7 +99,7 @@ Selector::~Selector() delete _dragger; } -bool Selector::event(GdkEvent *event) +bool Selector::event(SPEventContext *event_context, GdkEvent *event) { // The hidden control point will capture all events after it obtains the grab, // but it relies on this function to initiate it. If we pass only first button @@ -108,9 +108,9 @@ bool Selector::event(GdkEvent *event) case GDK_BUTTON_PRESS: // Do not pass button presses other than left button to the control point. // This way middle click and right click can be handled in SPEventContext. - if (event->button.button == 1) { + if (event->button.button == 1 && !event_context->space_panning) { _dragger->setPosition(_desktop->w2d(event_point(event->motion))); - return _dragger->event(event); + return _dragger->event(event_context, event); } break; default: break; |
