diff options
Diffstat (limited to 'src/ui/tools/tool-base.cpp')
| -rw-r--r-- | src/ui/tools/tool-base.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index ee0e27e4b..cadce0c0d 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -1076,6 +1076,16 @@ void sp_event_context_read(ToolBase *ec, gchar const *key) { gint sp_event_context_root_handler(ToolBase * event_context, GdkEvent * event) { + Geom::Point pos = Geom::Point(0,0); + if ((event->type == GDK_BUTTON_RELEASE || + event->type == GDK_MOTION_NOTIFY) && + !event_context->desktop->canvas->_inside) + { + pos = event_context->desktop->d2w(event_context->desktop->point(true)); + event->motion.x = pos[Geom::X]; + event->motion.y = pos[Geom::Y]; + } + if (!event_context->_uses_snap) { return sp_event_context_virtual_root_handler(event_context, event); } |
