Code

2nd patch of bug 488862. Also committed upstream in 2geom.
authorJohan Engelen <goejendaagh@zonnet.nl>
Wed, 16 Dec 2009 22:00:09 +0000 (23:00 +0100)
committerJohan Engelen <goejendaagh@zonnet.nl>
Wed, 16 Dec 2009 22:00:09 +0000 (23:00 +0100)
src/2geom/path-intersection.cpp

index b2d5ceabb7a79d63f275f6805f6377e69c1c2c77..f883f8c63da48bbb8eb85b1aae0f2fbc23561e45 100644 (file)
@@ -118,7 +118,7 @@ bool path_direction(Path const &p) {
     double x = p.initialPoint()[X];
     Cmp res = cmp(p[0].finalPoint()[Y], y);
     goto doh;
-    for(unsigned i = 1; i <= p.size(); i++) {
+    for(unsigned i = 1; i < p.size(); i++) {
         Cmp final_to_ray = cmp(p[i].finalPoint()[Y], y);
         Cmp initial_to_ray = cmp(p[i].initialPoint()[Y], y);
         // if y is included, these will have opposite values, giving order.
@@ -485,7 +485,7 @@ std::vector<double> path_mono_splits(Path const &p) {
     if(p.empty()) return ret;
     
     bool pdx=2, pdy=2;  //Previous derivative direction
-    for(unsigned i = 0; i <= p.size(); i++) {
+    for(unsigned i = 0; i < p.size(); i++) {
         std::vector<double> spl = offset_doubles(curve_mono_splits(p[i]), i);
         bool dx = p[i].initialPoint()[X] > (spl.empty()? p[i].finalPoint()[X] :
                                                          p.valueAt(spl.front(), X));