From b52865a71a9f83da9719a3ec5f50a4a2cd7cdace Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Sun, 10 Jan 2010 01:46:28 +0100 Subject: * Implement node snapping. * Fix minor bug in linear grow. * Add --fixes. * Move some node selection-related functions to ControlPointSelection. Fixed bugs: - https://launchpad.net/bugs/170561 - https://launchpad.net/bugs/171893 - https://launchpad.net/bugs/182585 - https://launchpad.net/bugs/446773 (bzr r8846.2.9) --- src/event-context.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/event-context.cpp') diff --git a/src/event-context.cpp b/src/event-context.cpp index ec0169573..13e7e9410 100644 --- a/src/event-context.cpp +++ b/src/event-context.cpp @@ -57,6 +57,7 @@ #include "rubberband.h" #include "selcue.h" #include "lpe-tool-context.h" +#include "ui/tool/control-point.h" static void sp_event_context_class_init(SPEventContextClass *klass); static void sp_event_context_init(SPEventContext *event_context); @@ -1238,6 +1239,7 @@ void sp_event_context_snap_delay_handler(SPEventContext *ec, SPItem* const item, gboolean sp_event_context_snap_watchdog_callback(gpointer data) { + if (!data) return FALSE; // Snap NOW! For this the "postponed" flag will be reset and the last motion event will be repeated DelayedSnapEvent *dse = reinterpret_cast(data); @@ -1276,6 +1278,11 @@ gboolean sp_event_context_snap_watchdog_callback(gpointer data) } } break; + case DelayedSnapEvent::CONTROL_POINT_HANDLER: { + using Inkscape::UI::ControlPoint; + ControlPoint *point = reinterpret_cast(dse->getKnot()); + point->_eventHandler(dse->getEvent()); + } break; default: g_warning("Origin of snap-delay event has not been defined!;"); break; -- cgit v1.2.3