diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-08-14 13:47:14 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-08-14 13:47:43 +0100 |
commit | 84a3b6e2d0b8103cdc17558b502ecfc4c99b98a3 (patch) | |
tree | 3b20ebb9adcbfcf97fba4423966cb5df320a9499 /src/cairo-xlib-surface.c | |
parent | 2c885a275349c65ec831738ed917ecd16fdd8c65 (diff) | |
download | cairo-84a3b6e2d0b8103cdc17558b502ecfc4c99b98a3.tar.gz |
xlib: Mark surfaces as finished when the Display is finished/destroyed/closed.
Fixes xlib-surface-source with the recording-surface
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-xlib-surface.c')
-rw-r--r-- | src/cairo-xlib-surface.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 885dc5928..6cc215b54 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -466,6 +466,8 @@ _cairo_xlib_surface_finish (void *abstract_surface) 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; @@ -3388,6 +3390,8 @@ found: surface->b_mask = 0; } + cairo_list_add (&surface->link, &screen->surfaces); + return &surface->base; } |