Code

Don't return too much snappoints
authordvlierop2 <dvlierop2@users.sourceforge.net>
Wed, 30 May 2007 20:27:45 +0000 (20:27 +0000)
committerdvlierop2 <dvlierop2@users.sourceforge.net>
Wed, 30 May 2007 20:27:45 +0000 (20:27 +0000)
src/sp-shape.cpp

index a0c26e8f55d0078a5fab049138901c3e6c653b85..6dba2afb67b2f36a63b0d6f3ecd0ead17c03c4e6 100644 (file)
@@ -1021,6 +1021,11 @@ static void sp_shape_snappoints(SPItem const *item, SnapPointsIter p)
 
     /* Use the end points of each segment of the path */
     NArtBpath const *bp = SP_CURVE_BPATH(shape->curve);
+
+    if (bp->code == NR_MOVETO) { // Indicates the start of a closed subpath, see nr-path-code.h
+        bp++; //The first point of a closed path is coincident with the end point. Skip the first point as we need only one
+    }
+
     while (bp->code != NR_END) {
         *p = bp->c(3) * i2d;
         bp++;