diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c index 9c2d3a7f2..d852f509f 100644 --- a/src/cairo-xcb-surface.c +++ b/src/cairo-xcb-surface.c @@ -580,12 +580,10 @@ _cairo_xcb_surface_release_source_image (void *abstract_surface, { cairo_xcb_surface_t *surface = abstract_surface; - if (surface->drm != NULL && ! surface->marked_dirty) { - return _cairo_surface_release_source_image (surface->drm, - image, image_extra); - } - - cairo_surface_destroy (&image->base); + if (surface->drm != NULL && !surface->marked_dirty) + _cairo_surface_release_source_image (surface->drm, image, image_extra); + else + cairo_surface_destroy (&image->base); } static cairo_bool_t