From be6b986fa79a3063539b1edf05fc21757116e334 Mon Sep 17 00:00:00 2001 From: johncoswell Date: Sun, 30 Jul 2006 00:14:42 +0000 Subject: [PATCH] Fix bug where deleting a node broke the symmetry of neighboring smooth nodes and failed to convert those nodes to cusp nodes --- ChangeLog | 7 +++++++ src/nodepath.cpp | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index f62d5305b..a1a035a73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-07-29 John Bintz + + * src/nodepath.cpp: + + Fix bug where deleting a node broke the symmetry of neighboring + smooth nodes and failed to convert those nodes to cusp nodes + 2006-06-29 MenTaLguY * src/sp-object.cpp: diff --git a/src/nodepath.cpp b/src/nodepath.cpp index 3019b492e..84c990bff 100644 --- a/src/nodepath.cpp +++ b/src/nodepath.cpp @@ -1975,6 +1975,12 @@ void sp_node_delete_preserve(GList *nodes_to_delete) gint ret; ret = sp_bezier_fit_cubic (bez, adata, data.size(), error); + //if these nodes are smooth or symmetrical, the endpoints will be thrown out of sync. + //make sure these nodes are changed to cusp nodes so that, once the endpoints are moved, + //the resulting nodes behave as expected. + sp_nodepath_convert_node_type(sample_cursor, Inkscape::NodePath::NODE_CUSP); + sp_nodepath_convert_node_type(sample_end, Inkscape::NodePath::NODE_CUSP); + //adjust endpoints sample_cursor->n.pos = bez[1]; sample_end->p.pos = bez[2]; -- 2.30.2