summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-08-21 10:12:06 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-08-21 10:34:23 +0100
commitaa5c7123097c56e2c35bf88b8377bbdd1523fbce (patch)
treeeaf5cde7cb207504cbb5e089c36148232a6c7231 /src/cairo-xlib-display.c
parent30d09cd33a582a2dd3f3a544366892c724f67592 (diff)
downloadcairo-aa5c7123097c56e2c35bf88b8377bbdd1523fbce.tar.gz
xlib/shm: Use a genuine event rather than an open-ended request
Adding lots of requests without popping the replies causes xcb to continually sort large lists of unprocessed data. Use an event instead and regularly dequeue them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-xlib-display.c')
-rw-r--r--src/cairo-xlib-display.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c
index 656164a86..12c162394 100644
--- a/src/cairo-xlib-display.c
+++ b/src/cairo-xlib-display.c
@@ -372,7 +372,9 @@ _cairo_xlib_display_acquire (cairo_device_t *device, cairo_xlib_display_t **disp
return status;
*display = (cairo_xlib_display_t *) device;
- return status;
+ _cairo_xlib_display_flush_shm (*display);
+
+ return CAIRO_STATUS_SUCCESS;
}
XRenderPictFormat *