xlib/shm: Always request a CompletionEvent from ShmPutImage

...and treat is as an expected event for synchronisation.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2013-01-29 03:00:46 +00:00
parent a364a106b2
commit fd59e6d86a
2 changed files with 4 additions and 10 deletions

View file

@ -404,11 +404,6 @@ peek_processed (cairo_device_t *device)
return LastKnownRequestProcessed (peek_display(device));
}
static unsigned next_request (cairo_device_t *device)
{
return NextRequest (peek_display (device));
}
static void
_cairo_xlib_display_shm_pool_destroy (cairo_xlib_display_t *display,
cairo_xlib_shm_t *pool)
@ -1231,10 +1226,10 @@ _cairo_xlib_shm_surface_get_ximage (cairo_surface_t *surface,
void *
_cairo_xlib_shm_surface_get_obdata (cairo_surface_t *surface)
{
cairo_xlib_shm_surface_t *shm;
cairo_xlib_display_t *display = (cairo_xlib_display_t *) surface->device;
cairo_xlib_shm_surface_t *shm = (cairo_xlib_shm_surface_t *) surface;
shm = (cairo_xlib_shm_surface_t *) surface;
shm->active = next_request (surface->device);
display->shm->last_event = shm->active = NextRequest (display->display);
return &shm->info->pool->shm;
}

View file

@ -1345,8 +1345,7 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t *surface,
if (ximage.obdata)
XShmPutImage (display->display, surface->drawable, gc, &ximage,
src_x, src_y, dst_x, dst_y, width, height,
shm_image == NULL);
src_x, src_y, dst_x, dst_y, width, height, True);
else
XPutImage (display->display, surface->drawable, gc, &ximage,
src_x, src_y, dst_x, dst_y, width, height);