From fb1abbc4bc25c541cfb1084012a6a185c541c340 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 15 Feb 2013 14:04:21 +0000 Subject: win32: Free the fallback upon finish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zozó Teki pointed out that we leak the fallback surface upon finish in case it was active at the time as the preceding flush would only clear the damage and not decouple the fallback surface. Signed-off-by: Chris Wilson --- src/win32/cairo-win32-display-surface.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/win32/cairo-win32-display-surface.c b/src/win32/cairo-win32-display-surface.c index ccd285d7..03906252 100644 --- a/src/win32/cairo-win32-display-surface.c +++ b/src/win32/cairo-win32-display-surface.c @@ -429,6 +429,8 @@ _cairo_win32_display_surface_finish (void *abstract_surface) DeleteDC (surface->win32.dc); } + _cairo_win32_display_surface_discard_fallback (surface); + if (surface->initial_clip_rgn) DeleteObject (surface->initial_clip_rgn); @@ -758,6 +760,7 @@ _cairo_win32_display_surface_discard_fallback (cairo_win32_display_surface_t *su TRACE ((stderr, "%s (surface=%d)\n", __FUNCTION__, surface->win32.base.unique_id)); + cairo_surface_finish (surface->fallback); cairo_surface_destroy (surface->fallback); surface->fallback = NULL; } -- cgit v1.2.3