summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index 692cc4112..c98a974a8 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -636,9 +636,15 @@ SPDesktop::set_event_context (GtkType type, const gchar *config)
event_context = next;
}
+ // The event_context will be null. This means that it will be impossible
+ // to process any event invoked by the lines below. See for example bug
+ // LP #622350. Cutting and undoing again in the node tool resets the event
+ // context to the node tool. In this bug the line bellow invokes GDK_LEAVE_NOTIFY
+ // events which cannot be handled and must be discarded.
ec = sp_event_context_new (type, this, config, SP_EVENT_CONTEXT_STATIC);
ec->next = event_context;
event_context = ec;
+ // Now the event_context has been set again and we can process all events again
sp_event_context_activate (ec);
_event_context_changed_signal.emit (this, ec);
}
@@ -1367,7 +1373,7 @@ SPDesktop::emitToolSubselectionChanged(gpointer data)
void
SPDesktop::updateNow()
{
- sp_canvas_update_now(canvas);
+ sp_canvas_update_now(canvas);
}
void
@@ -1810,4 +1816,4 @@ Geom::Point SPDesktop::dt2doc(Geom::Point const &p) const
fill-column:99
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :