diff options
Diffstat (limited to 'src/cairo-xlib-surface.c')
-rw-r--r--[-rwxr-xr-x] | src/cairo-xlib-surface.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 2fb29e3d4..8128ebc05 100755..100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -60,6 +60,7 @@ #include "cairo-image-surface-private.h" #include "cairo-list-inline.h" #include "cairo-pattern-private.h" +#include "cairo-pixman-private.h" #include "cairo-region-private.h" #include "cairo-scaled-font-private.h" #include "cairo-surface-snapshot-private.h" @@ -385,14 +386,14 @@ _cairo_xlib_surface_finish (void *abstract_surface) cairo_status_t status; cairo_xlib_display_t *display; - X_DEBUG ((display->display, "finish (drawable=%x)", (unsigned int) surface->drawable)); - cairo_list_del (&surface->link); status = _cairo_xlib_display_acquire (surface->base.device, &display); if (unlikely (status)) return status; + X_DEBUG ((display->display, "finish (drawable=%x)", (unsigned int) surface->drawable)); + if (surface->embedded_source.picture) XRenderFreePicture (display->display, surface->embedded_source.picture); if (surface->picture) |