diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 1a2fbef87e6ee47985871beeb17dbe769d8be164..07daac66de53bc32bffdaf669998dfb916af1f42 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -1045,21 +1045,13 @@ SPDesktopWidget::eventoutside(GtkWidget *widget, GdkEvent *event, SPDesktopWidge if ((event->type == GDK_MOTION_NOTIFY || event->type == GDK_BUTTON_RELEASE) && !dtw->_canvas->_inside && dtw->desktop->event_context->_button1on) { if (dtw->desktop->active_guide) { - if (event->type == GDK_MOTION_NOTIFY) { - Geom::Point const motion_w(event->motion.x, event->motion.y); - Geom::Point motion_dt(dtw->desktop->w2d(motion_w)); - dtw->desktop->active_guide->moveto(motion_dt, false); - dtw->desktop->set_coordinate_status(motion_dt); - } else { - dtw->desktop->active_guide->moveto(dtw->desktop->active_guide->getPoint(), false); - dtw->desktop->active_guide->set_normal(dtw->desktop->active_guide->getNormal(), false); - sp_guide_remove(dtw->desktop->active_guide); - dtw->desktop->active_guide = nullptr; - Glib::wrap(GTK_WIDGET(dtw->desktop->getCanvas())) - ->get_window() - ->set_cursor(dtw->desktop->event_context->cursor); - DocumentUndo::done(dtw->desktop->getDocument(), SP_VERB_NONE, _("Delete guide")); - } + sp_guide_remove(dtw->desktop->active_guide); + dtw->desktop->active_guide = nullptr; + sp_event_context_discard_delayed_snap_event(dtw->desktop->event_context); + Glib::wrap(GTK_WIDGET(dtw->desktop->getCanvas())) + ->get_window() + ->set_cursor(dtw->desktop->event_context->cursor); + DocumentUndo::done(dtw->desktop->getDocument(), SP_VERB_NONE, _("Delete guide")); } sp_desktop_root_handler(nullptr, event, dtw->desktop); }