summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--src/nodepath.cpp6
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f62d5305b..a1a035a73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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];