diff options
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | src/nodepath.cpp | 6 |
2 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,10 @@ +2006-07-29 John Bintz <jcoswell@coswellproductions.org> + + * 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 <mental@rydia.net> * 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]; |
