summaryrefslogtreecommitdiff
path: root/src/cairo-surface-observer.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-08-20 16:29:00 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-08-20 16:34:38 +0100
commitc3e990ea7ddc59d73d27d65420062855de265b72 (patch)
treea3e06908fffe64ce3156dbe42a103a190c79ff3a /src/cairo-surface-observer.c
parentbb3d06a5dc6cd1eef368a9679a67ff8341860ac1 (diff)
downloadcairo-c3e990ea7ddc59d73d27d65420062855de265b72.tar.gz
observer: correct classification of aligned paths
We were misclassifying rectilinear paths as aligned strokes, which is bogus until we analyse the offset path. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-surface-observer.c')
-rw-r--r--src/cairo-surface-observer.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/cairo-surface-observer.c b/src/cairo-surface-observer.c
index 432e0d277..15190e921 100644
--- a/src/cairo-surface-observer.c
+++ b/src/cairo-surface-observer.c
@@ -201,14 +201,13 @@ classify_path (const cairo_path_fixed_t *path,
if (path->fill_is_empty)
classify = 0;
else if (_cairo_path_fixed_fill_is_rectilinear (path))
- classify = 1;
+ classify = path->fill_maybe_region ? 1 : 2;
} else {
if (_cairo_path_fixed_stroke_is_rectilinear (path))
- classify = 1;
+ classify = 2;
}
- if (classify == 1 && ! path->fill_maybe_region)
- classify = 2;
- classify = 3 + path->has_curve_to != 0;
+ if (classify == -1)
+ classify = 3 + (path->has_curve_to != 0);
return classify;
}