diff options
Diffstat (limited to 'src/share/classes/sun/java2d/marlin/DStroker.java')
-rw-r--r-- | src/share/classes/sun/java2d/marlin/DStroker.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/share/classes/sun/java2d/marlin/DStroker.java b/src/share/classes/sun/java2d/marlin/DStroker.java index 5fecec848a..bd14b8fe44 100644 --- a/src/share/classes/sun/java2d/marlin/DStroker.java +++ b/src/share/classes/sun/java2d/marlin/DStroker.java @@ -540,7 +540,7 @@ final class DStroker implements DPathConsumer2D, MarlinConst { // basic rejection criteria: if (sideCode == 0) { - // ovelap clip: + // overlap clip: if (subdivide) { // avoid reentrance subdivide = false; @@ -634,6 +634,9 @@ final class DStroker implements DPathConsumer2D, MarlinConst { emitReverse(); this.prev = CLOSE; + this.cx0 = sx0; + this.cy0 = sy0; + this.cOutCode = sOutCode; if (opened) { // do not emit close @@ -668,7 +671,9 @@ final class DStroker implements DPathConsumer2D, MarlinConst { // i.e. if caps must be drawn or not ? // Solution: use the ClosedPathDetector before Stroker to determine // if the path is a closed path or not - if (!rdrCtx.closedPath) { + if (rdrCtx.closedPath) { + emitReverse(); + } else { if (outcode == 0) { // current point = end's cap: if (capStyle == CAP_ROUND) { @@ -693,8 +698,6 @@ final class DStroker implements DPathConsumer2D, MarlinConst { } } } - } else { - emitReverse(); } emitClose(); } @@ -1058,7 +1061,7 @@ final class DStroker implements DPathConsumer2D, MarlinConst { // basic rejection criteria: if (sideCode == 0) { - // ovelap clip: + // overlap clip: if (subdivide) { // avoid reentrance subdivide = false; @@ -1206,7 +1209,7 @@ final class DStroker implements DPathConsumer2D, MarlinConst { // basic rejection criteria: if (sideCode == 0) { - // ovelap clip: + // overlap clip: if (subdivide) { // avoid reentrance subdivide = false; |