From: scislac Date: Sun, 8 Nov 2009 01:19:29 +0000 (+0000) Subject: Patch by Johan for 445790 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=e1c9ac33d36bca9ca359096c3450303a160a56e3;p=inkscape.git Patch by Johan for 445790 --- diff --git a/src/livarot/PathStroke.cpp b/src/livarot/PathStroke.cpp index 465bb205c..93280d794 100644 --- a/src/livarot/PathStroke.cpp +++ b/src/livarot/PathStroke.cpp @@ -63,7 +63,13 @@ void Path::Stroke(Shape *dest, bool doClose, double width, JoinType join, } if ( lastP > lastM+1 ) { - if ( pts[lastP - 1].closed ) { + Geom::Point sbStart = pts[lastM].p; + Geom::Point sbEnd = pts[lastP - 1].p; + // if ( pts[lastP - 1].closed ) { // this is correct, but this bugs text rendering (doesn't close text stroke)... + if ( Geom::LInfty(sbEnd-sbStart) < 0.00001 ) { // why close lines that shouldn't be closed? + // ah I see, because close is defined here for + // a whole path and should be defined per subpath. + // debut==fin => ferme (on devrait garder un element pour les close(), mais tant pis) DoStroke(lastM, lastP - lastM, dest, true, width, join, butt, miter, true); } else { DoStroke(lastM, lastP - lastM, dest, doClose, width, join, butt, miter, true);