summaryrefslogtreecommitdiffstats
path: root/src/nodepath.cpp
diff options
context:
space:
mode:
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];