diff options
-rw-r--r-- | src/cairo-xlib-surface.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 029a542b9..ffea476f6 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -807,6 +807,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, } cairo_surface_destroy (&image->base); + image = NULL; } } @@ -1011,7 +1012,8 @@ _get_image_surface (cairo_xlib_surface_t *surface, cairo_device_release (&display->base); if (unlikely (status)) { - cairo_surface_destroy (&image->base); + if (image) + cairo_surface_destroy (&image->base); return _cairo_surface_create_in_error (status); } |