X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Flivarot%2FShapeSweep.cpp;h=18f8e3a69ee0209bd3a813a0eaa8d21bd1062511;hb=b03899b976eaea0d850429cae78aca08f64245c6;hp=3e5a3bcafd93c74fac0230ffd5b5f5a4448bb652;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/livarot/ShapeSweep.cpp b/src/livarot/ShapeSweep.cpp index 3e5a3bcaf..18f8e3a69 100644 --- a/src/livarot/ShapeSweep.cpp +++ b/src/livarot/ShapeSweep.cpp @@ -6,6 +6,9 @@ * */ +#include +#include +#include #include #include "Shape.h" #include "livarot/sweep-event-queue.h" @@ -75,8 +78,11 @@ Shape::Reoriente (Shape * a) if (numberOfPoints() > maxPt) { maxPt = numberOfPoints(); - if (_has_points_data) - pData.resize(maxPt); + if (_has_points_data) { + pData.resize(maxPt); + _point_data_initialised = false; + _bbox_up_to_date = false; + } } _aretes = a->_aretes; @@ -168,7 +174,8 @@ Shape::ConvertToShape (Shape * a, FillRule directed, bool invert) } if ( directed != fill_justDont && directedEulerian(a) == false ) { - return shape_input_err; + g_warning ("Shape error in ConvertToShape: directedEulerian(a) == false\n"); + return shape_input_err; } a->ResetSweep(); @@ -817,22 +824,6 @@ Shape::ConvertToShape (Shape * a, FillRule directed, bool invert) delete sEvts; sEvts = NULL; - if ( directed == fill_justDont ) { - } else { - if (directedEulerian(this) == false) - { -// Validate(); - // printf( "pas euclidian2"); - MakePointData (false); - MakeEdgeData (false); - MakeSweepSrcData (false); - MakeSweepDestData (false); - a->CleanupSweep (); - _pts.clear(); - _aretes.clear(); - return shape_euler_err; - } - } MakePointData (false); MakeEdgeData (false); MakeSweepSrcData (false);