summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosh Andler <scislac@gmail.com>2009-11-08 01:19:29 +0000
committerscislac <scislac@users.sourceforge.net>2009-11-08 01:19:29 +0000
commita5433a16699362caee5735d5b907f6d4efbf1eac (patch)
tree16c9c019bc834b597efcee71f6d1d9d99dc23f68 /src
parentFix for crash 409043 (diff)
downloadinkscape-a5433a16699362caee5735d5b907f6d4efbf1eac.tar.gz
inkscape-a5433a16699362caee5735d5b907f6d4efbf1eac.zip
Patch by Johan for 445790
(bzr r8824)
Diffstat (limited to 'src')
-rw-r--r--src/livarot/PathStroke.cpp8
1 files changed, 7 insertions, 1 deletions
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);