summaryrefslogtreecommitdiff
path: root/src/cairo-clip.c
diff options
context:
space:
mode:
authorHenry (Yu) Song - SISA <hsong@sisa.samsung.com>2012-07-24 02:05:15 +0000
committerAndrea Canciani <ranma42@gmail.com>2012-07-24 11:06:29 +0200
commit459c060b6fcc0a3b7e6f0e544fe83f954a5ca716 (patch)
tree6d399ccae8fb8fcf077616a4a793d8df09cf4893 /src/cairo-clip.c
parent5f1dd8b3684db5aed42f355fa41310639e7d395d (diff)
downloadcairo-459c060b6fcc0a3b7e6f0e544fe83f954a5ca716.tar.gz
clip: Transform clip path in _cairo_clip_intersect_clip_path_transformed()
_cairo_clip_intersect_clip_path_transformed() completely ignored the transformation matrix instead of transforming all the clip paths with it. This caused bugs when replaying recording surfaces. Fixes record{2x,1414x,90}-paint-alpha-clip-mask.
Diffstat (limited to 'src/cairo-clip.c')
-rw-r--r--src/cairo-clip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cairo-clip.c b/src/cairo-clip.c
index bd70c06df..0df9b06bf 100644
--- a/src/cairo-clip.c
+++ b/src/cairo-clip.c
@@ -536,6 +536,8 @@ _cairo_clip_intersect_clip_path_transformed (cairo_clip_t *clip,
if (_cairo_path_fixed_init_copy (&path, &clip_path->path))
return _cairo_clip_set_all_clipped (clip);
+ _cairo_path_fixed_transform (&path, m);
+
clip = _cairo_clip_intersect_path (clip,
&path,
clip_path->fill_rule,