[cairo-commit] src/cairo-xlib-surface-shm.c
Chris Wilson
ickle at kemper.freedesktop.org
Fri Nov 2 10:04:01 PDT 2012
src/cairo-xlib-surface-shm.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
New commits:
commit 724c6dfa9521e887682029add879c2fcdd518b14
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Nov 2 16:54:46 2012 +0000
xlib/shm: Need IncludeInferiors when creating the source fallback
Reported-by: Benjamin Otte <otte at redhat.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
index 0ca4305..b03dd83 100644
--- a/src/cairo-xlib-surface-shm.c
+++ b/src/cairo-xlib-surface-shm.c
@@ -820,6 +820,13 @@ _cairo_xlib_surface_update_shm (cairo_xlib_surface_t *surface)
if (_cairo_xlib_surface_get_gc (display, surface, &gc))
goto cleanup_display;
+ if (! surface->owns_pixmap) {
+ XGCValues gcv;
+
+ gcv.subwindow_mode = IncludeInferiors;
+ XChangeGC (display->display, gc, GCSubwindowMode, &gcv);
+ }
+
if (damage->region) {
XRectangle stack_rects[CAIRO_STACK_ARRAY_LENGTH (sizeof (XRectangle))];
XRectangle *rects = stack_rects;
@@ -870,6 +877,13 @@ _cairo_xlib_surface_update_shm (cairo_xlib_surface_t *surface)
0, 0);
}
+ if (! surface->owns_pixmap) {
+ XGCValues gcv;
+
+ gcv.subwindow_mode = ClipByChildren;
+ XChangeGC (display->display, gc, GCSubwindowMode, &gcv);
+ }
+
XSync (display->display, False);
shm->active = 0;
shm->idle--;
More information about the cairo-commit
mailing list