summaryrefslogtreecommitdiffstats
path: root/src/nodepath.cpp
diff options
context:
space:
mode:
authorJohn Bintz <me@johnbintz.com>2006-07-30 00:14:42 +0000
committerjohncoswell <johncoswell@users.sourceforge.net>2006-07-30 00:14:42 +0000
commit6956333f8a04514755512d45d1bbf4ce13337f19 (patch)
tree5de489caa0e72015d9eb9bcfa07f4851a9aa0101 /src/nodepath.cpp
parentupdate to whiteboard, merged typedefs / defines and constants (diff)
downloadinkscape-6956333f8a04514755512d45d1bbf4ce13337f19.tar.gz
inkscape-6956333f8a04514755512d45d1bbf4ce13337f19.zip
Fix bug where deleting a node broke the symmetry of neighboring smooth nodes and failed to convert those nodes to
cusp nodes (bzr r1513)
Diffstat (limited to 'src/nodepath.cpp')
-rw-r--r--src/nodepath.cpp6
1 files changed, 6 insertions, 0 deletions
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];