Commit 1d1bd5d
Fix arc instruction and division by zero in remove points on points
Changed files (2)
Diff
@@ -2264,7 +2264,7 @@ public class Path : GLib.Object { remove_deleted_points (); // remove tripple points- for (int i = 0; i < points.size + 1; i++) {+ for (int i = 0; i < points.size + 1 && points.size > 0; i++) { EditPoint ep = points.get (i % points.size); EditPoint next = points.get ((i + 1) % points.size); EditPoint previous = points.get ((i - 1 + points.size) % points.size);@@ -2274,7 +2274,11 @@ public class Path : GLib.Object { i--; } }- ++ if (points.size == 0) {+ return;+ }+ // remove points on points for (int i = 0; i < points.size + 1; i++) { EditPoint ep = points.get (i % points.size);@@ -81,6 +81,10 @@ public class SvgPath : Object { cr.translate (x, y); cr.rotate (rotation); cr.scale (rx, ry);+ + double start_x = Math.cos (-angle_start);+ double start_y = Math.sin (-angle_start);+ cr.move_to (start_x, start_y); if (angle_extent > 0) { cr.arc_negative (0, 0, 1, -angle_start, -angle_start - angle_extent);