summaryrefslogtreecommitdiff
path: root/src/cairo-path-stroke.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-10-26 10:21:37 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2008-10-26 10:25:31 +0000
commit22e2dac819de3c082424ebf3ce8f64c9c4797e8a (patch)
tree6a0854e8c7b3afcde5dd684c1bf4d4a9c87c0b34 /src/cairo-path-stroke.c
parent64fb3290f00bafc4a10e6432226f669a51fa0bc6 (diff)
downloadcairo-22e2dac819de3c082424ebf3ce8f64c9c4797e8a.tar.gz
[stroke] Ensure we record the first face for a dashed path.
If the first face was outside the bounds then we skipped it, and so a close would incorrectly connect to the first visible face.
Diffstat (limited to 'src/cairo-path-stroke.c')
-rw-r--r--src/cairo-path-stroke.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cairo-path-stroke.c b/src/cairo-path-stroke.c
index d8c94a86a..efccbcfea 100644
--- a/src/cairo-path-stroke.c
+++ b/src/cairo-path-stroke.c
@@ -878,6 +878,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point)
if (stroker->dash_on &&
(fully_in_bounds ||
+ (! stroker->has_first_face && stroker->dash_starts_on) ||
_cairo_box_intersects_line_segment (&stroker->bounds, &segment)))
{
status = _cairo_stroker_add_sub_edge (stroker,