[cairo-commit] src/win32
Chris Wilson
ickle at kemper.freedesktop.org
Fri Feb 15 06:08:19 PST 2013
src/win32/cairo-win32-display-surface.c | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit fb1abbc4bc25c541cfb1084012a6a185c541c340
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Feb 15 14:04:21 2013 +0000
win32: Free the fallback upon finish
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 <chris at chris-wilson.co.uk>
diff --git a/src/win32/cairo-win32-display-surface.c b/src/win32/cairo-win32-display-surface.c
index ccd285d..0390625 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;
}
More information about the cairo-commit
mailing list