diff options
| author | bulia byak <buliabyak@gmail.com> | 2007-01-24 18:33:43 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2007-01-24 18:33:43 +0000 |
| commit | cd6c900b2023bd3e78dce32402a15d4f4dcc45b6 (patch) | |
| tree | 8b341cd94ee4e1b4d7a85f925c1901b6293baa63 /src/nodepath.cpp | |
| parent | remove sp_repr_new from style tests (diff) | |
| download | inkscape-cd6c900b2023bd3e78dce32402a15d4f4dcc45b6.tar.gz inkscape-cd6c900b2023bd3e78dce32402a15d4f4dcc45b6.zip | |
fix crash when switching away from node tool while redrawing after a handle move; the end_forced_full_redraws in the handle_ungrabbed may become invalid because the nodepath is destroyed while in screen update triggered by update_repr, and it is redundant anyway because update_repr does its own end_forced_full_redraws
(bzr r2273)
Diffstat (limited to 'src/nodepath.cpp')
| -rw-r--r-- | src/nodepath.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nodepath.cpp b/src/nodepath.cpp index a224f81a5..69827bd84 100644 --- a/src/nodepath.cpp +++ b/src/nodepath.cpp @@ -3322,7 +3322,6 @@ static void node_handle_ungrabbed(SPKnot *knot, guint state, gpointer data) } sp_nodepath_update_repr(n->subpath->nodepath, _("Move node handle")); - sp_canvas_end_forced_full_redraws(n->subpath->nodepath->desktop->canvas); } /** @@ -4038,6 +4037,7 @@ static void sp_nodepath_node_destroy(Inkscape::NodePath::Node *node) g_signal_handlers_disconnect_by_func(G_OBJECT(node->p.knot), (gpointer) G_CALLBACK(node_handle_moved), node); g_signal_handlers_disconnect_by_func(G_OBJECT(node->p.knot), (gpointer) G_CALLBACK(node_handle_event), node); g_object_unref(G_OBJECT(node->p.knot)); + node->p.knot = NULL; } if (node->n.knot) { @@ -4048,6 +4048,7 @@ static void sp_nodepath_node_destroy(Inkscape::NodePath::Node *node) g_signal_handlers_disconnect_by_func(G_OBJECT(node->n.knot), (gpointer) G_CALLBACK(node_handle_moved), node); g_signal_handlers_disconnect_by_func(G_OBJECT(node->n.knot), (gpointer) G_CALLBACK(node_handle_event), node); g_object_unref(G_OBJECT(node->n.knot)); + node->n.knot = NULL; } if (node->p.line) |
