summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-08-24 10:34:05 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-08-24 11:38:58 +0100
commit5355eab17d026f5d5566e6de47c9dbffc5ece5d0 (patch)
tree4dd90e8ce2e0f415011bfd32bc89a44f455448fa /src/cairo-xlib-display.c
parent5c4087af810763ee98682b3bcc1c759ad8b4c27b (diff)
downloadcairo-5355eab17d026f5d5566e6de47c9dbffc5ece5d0.tar.gz
xlib/shm: Reduce the frequency at which we emit events
Flushing the shm operation is a fairly rare event, as it is typically only involved with mixed rendering on a similar image, and should be triggering its own events. Therefore we should be able to reduce our event emission to the critical points in order to limit the amount of extra overhead we generate. 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, 2 insertions, 2 deletions
diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c
index 32e4699fe..f23a6550d 100644
--- a/src/cairo-xlib-display.c
+++ b/src/cairo-xlib-display.c
@@ -63,6 +63,8 @@ _cairo_xlib_display_finish (void *abstract_display)
cairo_xlib_display_t *display = abstract_display;
Display *dpy = display->display;
+ _cairo_xlib_display_fini_shm (display);
+
if (! cairo_device_acquire (&display->base)) {
cairo_xlib_error_func_t old_handler;
@@ -83,8 +85,6 @@ _cairo_xlib_display_finish (void *abstract_display)
link));
}
- _cairo_xlib_display_fini_shm (display);
-
XSync (dpy, False);
XSetErrorHandler (old_handler);