[cairo-commit] src/cairo-xcb-surface-render.c
Uli Schlachter
psychon at kemper.freedesktop.org
Tue Aug 2 13:36:33 PDT 2011
src/cairo-xcb-surface-render.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
New commits:
commit 7b5b29cc0ffc44066589d371d872e355ce56343b
Author: Uli Schlachter <psychon at znc.in>
Date: Tue Aug 2 22:34:54 2011 +0200
xcb: Handle deferred clear in _upload_image_inplace
Fixes: clip-device-offset, image-surface-source,
composite-integer-translate-source, move-to-show-surface,
source-surface-scale-paint, translate-show-surface, perhaps even more?
Signed-off-by: Uli Schlachter <psychon at znc.in>
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index 364e5c0..e08ca68 100644
--- a/src/cairo-xcb-surface-render.c
+++ b/src/cairo-xcb-surface-render.c
@@ -2692,11 +2692,16 @@ _upload_image_inplace (cairo_xcb_surface_t *surface,
if (! cairo_boxes_for_each_box (boxes, image_contains_box, &icb))
return CAIRO_INT_STATUS_UNSUPPORTED;
+ if (surface->deferred_clear) {
+ status = _cairo_xcb_surface_clear (surface);
+ if (unlikely (status))
+ return status;
+ }
+
status = _cairo_xcb_connection_acquire (surface->connection);
if (unlikely (status))
return status;
-
iub.surface = surface;
iub.image = image;
iub.gc = _cairo_xcb_screen_get_gc (surface->screen,
More information about the cairo-commit
mailing list