diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-08 16:38:11 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-08 16:38:11 +0000 |
commit | e4acba6d1ddfe1c6d27b5a77edccea9d69b178f8 (patch) | |
tree | 62669778b7890785c0b9e5a362762ae0306761ac | |
parent | 2ed484817ef3a5084dc65a2ae1acdef551acd107 (diff) | |
download | cairo-e4acba6d1ddfe1c6d27b5a77edccea9d69b178f8.tar.gz |
xlib/shm: Only destroy an existing damage
_cairo_damage_destroy() does not like to be passed a NULL.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/cairo-xlib-surface-shm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c index ff0aaf876..d27b2d688 100644 --- a/src/cairo-xlib-surface-shm.c +++ b/src/cairo-xlib-surface-shm.c @@ -710,8 +710,10 @@ _cairo_xlib_shm_surface_finish (void *abstract_surface) cairo_xlib_display_t *display; cairo_status_t status; - _cairo_damage_destroy (shm->image.base.damage); - shm->image.base.damage = _cairo_damage_create_in_error (CAIRO_STATUS_SURFACE_FINISHED); + if (shm->image.base.damage) { + _cairo_damage_destroy (shm->image.base.damage); + shm->image.base.damage = _cairo_damage_create_in_error (CAIRO_STATUS_SURFACE_FINISHED); + } status = _cairo_xlib_display_acquire (shm->image.base.device, &display); if (unlikely (status)) |