diff options
author | Uli Schlachter <psychon@znc.in> | 2012-09-25 11:39:42 +0200 |
---|---|---|
committer | Uli Schlachter <psychon@znc.in> | 2012-09-25 11:39:42 +0200 |
commit | f2720e2ba1f68e9ec8f8822e41f4045663e99ad8 (patch) | |
tree | af2db043a37e59e135017d2ded758efcef25d7e4 /src | |
parent | b264ae76bd2621363cbc1e2b5bcdc4b0583d4b1f (diff) |
xcb: Add a missing check for FillRectangles
Fixes: big-empty-box big-little-box operator operator-alpha
surface-pattern-operator unbounded-operator
Signed-off-by: Uli Schlachter <psychon@znc.in>
Diffstat (limited to 'src')
-rw-r--r-- | src/cairo-xcb-surface-render.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c index 09a0236a8..dff62afdf 100644 --- a/src/cairo-xcb-surface-render.c +++ b/src/cairo-xcb-surface-render.c @@ -2384,10 +2384,15 @@ _cairo_xcb_surface_fixup_unbounded_boxes (cairo_xcb_surface_t *dst, } if (likely (status == CAIRO_STATUS_SUCCESS)) { - status = _render_fill_boxes (dst, - CAIRO_OPERATOR_CLEAR, - CAIRO_COLOR_TRANSPARENT, - &clear); + if (dst->connection->flags & CAIRO_XCB_RENDER_HAS_FILL_RECTANGLES) + status = _render_fill_boxes (dst, + CAIRO_OPERATOR_CLEAR, + CAIRO_COLOR_TRANSPARENT, + &clear); + else + status = _cairo_xcb_surface_core_fill_boxes (dst, + CAIRO_COLOR_TRANSPARENT, + &clear); } _cairo_boxes_fini (&clear); |