summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDiederik van Lierop <mail@diedenrezi.nl>2009-03-31 19:53:28 +0000
committerdvlierop2 <dvlierop2@users.sourceforge.net>2009-03-31 19:53:28 +0000
commitdd810e1836594d433ad8abe86f9910c04062a17f (patch)
tree97e12f96f1b335fad17637a84e418c11960aa3d3 /src
parentFixed icon blurriness due to theme changing icon sizes (diff)
downloadinkscape-dd810e1836594d433ad8abe86f9910c04062a17f.tar.gz
inkscape-dd810e1836594d433ad8abe86f9910c04062a17f.zip
Some minor snap-delay modifications
(bzr r7597)
Diffstat (limited to 'src')
-rw-r--r--src/event-context.cpp10
-rw-r--r--src/knot.cpp5
-rw-r--r--src/node-context.cpp7
3 files changed, 15 insertions, 7 deletions
diff --git a/src/event-context.cpp b/src/event-context.cpp
index 5b845388b..e22849798 100644
--- a/src/event-context.cpp
+++ b/src/event-context.cpp
@@ -902,7 +902,10 @@ sp_event_context_root_handler(SPEventContext * event_context, GdkEvent * event)
sp_event_context_snap_delay_handler(event_context, NULL, NULL, (GdkEventMotion *)event, DelayedSnapEvent::EVENTCONTEXT_ROOT_HANDLER);
break;
case GDK_BUTTON_RELEASE:
- sp_event_context_snap_watchdog_callback(event_context->_delayed_snap_event); // If we have any pending snapping action, then invoke it now
+ if (event_context->_delayed_snap_event) {
+ // If we have any pending snapping action, then invoke it now
+ sp_event_context_snap_watchdog_callback(event_context->_delayed_snap_event);
+ }
break;
case GDK_BUTTON_PRESS:
case GDK_2BUTTON_PRESS:
@@ -940,7 +943,10 @@ sp_event_context_item_handler(SPEventContext * event_context, SPItem * item, Gdk
sp_event_context_snap_delay_handler(event_context, item, NULL, (GdkEventMotion *)event, DelayedSnapEvent::EVENTCONTEXT_ITEM_HANDLER);
break;
case GDK_BUTTON_RELEASE:
- sp_event_context_snap_watchdog_callback(event_context->_delayed_snap_event); // If we have any pending snapping action, then invoke it now
+ if (event_context->_delayed_snap_event) {
+ // If we have any pending snapping action, then invoke it now
+ sp_event_context_snap_watchdog_callback(event_context->_delayed_snap_event);
+ }
break;
/*case GDK_BUTTON_PRESS:
case GDK_2BUTTON_PRESS:
diff --git a/src/knot.cpp b/src/knot.cpp
index ae8a7f7c5..5c821f909 100644
--- a/src/knot.cpp
+++ b/src/knot.cpp
@@ -332,7 +332,10 @@ static int sp_knot_handler(SPCanvasItem */*item*/, GdkEvent *event, SPKnot *knot
}
snap_delay_temporarily_active = false;
}
- sp_event_context_snap_watchdog_callback(knot->desktop->event_context->_delayed_snap_event);
+
+ if (knot->desktop->event_context->_delayed_snap_event) {
+ sp_event_context_snap_watchdog_callback(knot->desktop->event_context->_delayed_snap_event);
+ }
knot->pressure = 0;
if (transform_escaped) {
diff --git a/src/node-context.cpp b/src/node-context.cpp
index 44dbabcb0..a28e0d6bc 100644
--- a/src/node-context.cpp
+++ b/src/node-context.cpp
@@ -281,6 +281,8 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event)
nc->remove_flash_counter--;
}
+ sp_event_context_snap_window_open(event_context, false); // Just put the snap window open, bluntly. Will be closed when we have left the context
+
gint ret = FALSE;
switch (event->type) {
case GDK_BUTTON_PRESS:
@@ -294,7 +296,6 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event)
if (!(event->button.state & GDK_SHIFT_MASK)) {
if (!nc->drag) {
if (se->has_nodepath() && selection->single() /* && item_over */) {
- sp_event_context_snap_window_open(event_context);
// save drag origin
bool over_stroke = se->is_over_stroke(Geom::Point(event->button.x, event->button.y), true);
//only dragging curves
@@ -425,13 +426,11 @@ sp_node_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
desktop->updateNow();
}
- sp_event_context_snap_window_closed(event_context);
- break;
+ break;
case GDK_2BUTTON_PRESS:
//add a node
se->add_node_near_point();
nc->added_node = true;
- sp_event_context_snap_window_closed(event_context);
break;
default:
break;