Code

Fix bug where deleting a node broke the symmetry of neighboring smooth nodes and...
authorjohncoswell <johncoswell@users.sourceforge.net>
Sun, 30 Jul 2006 00:14:42 +0000 (00:14 +0000)
committerjohncoswell <johncoswell@users.sourceforge.net>
Sun, 30 Jul 2006 00:14:42 +0000 (00:14 +0000)
cusp nodes

ChangeLog
src/nodepath.cpp

index f62d5305bf99571fc3023b1e5a6e0785bb140640..a1a035a73a3df6a72573458a60ccf42dd24a8652 100644 (file)
--- 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:
index 3019b492e36e1a525471aab824efcbb5344d73ce..84c990bff8a8cde3ebea9801c8f4a16cb3ea5287 100644 (file)
@@ -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];