summaryrefslogtreecommitdiff
path: root/src/cairo-xcb-surface-render.c
diff options
context:
space:
mode:
authorBryce Harrington <b.harrington@samsung.com>2014-05-06 10:18:19 -0700
committerBryce Harrington <b.harrington@samsung.com>2014-05-06 10:18:19 -0700
commit18b3cce2f5812c357e4b6310e72d72dd9ec92ed4 (patch)
tree9468093469873a85e4953573b13b24535da9251b /src/cairo-xcb-surface-render.c
parentda9ef97372fb9c22f66507e0ab37968b1131f077 (diff)
downloadcairo-18b3cce2f5812c357e4b6310e72d72dd9ec92ed4.tar.gz
Fix segfault in firefox when scrolling on certain pages
Bug discovered by thorsten <fly_a320@gmx.de> Patch from Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-xcb-surface-render.c')
-rw-r--r--src/cairo-xcb-surface-render.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index 962595305..75455e593 100644
--- a/src/cairo-xcb-surface-render.c
+++ b/src/cairo-xcb-surface-render.c
@@ -3121,6 +3121,9 @@ _clip_and_composite_boxes (cairo_xcb_surface_t *dst,
clip = _cairo_clip_copy (extents->clip);
clip = _cairo_clip_intersect_boxes (clip, boxes);
+ if (_cairo_clip_is_all_clipped (clip))
+ return CAIRO_INT_STATUS_NOTHING_TO_DO;
+
status = _cairo_clip_get_polygon (clip, &polygon,
&fill_rule, &antialias);
_cairo_clip_path_destroy (clip->path);