Re: Leak in win32 display surface

Chris Wilson <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Fri, Feb 15, 2013 at 02:58:28PM +0100, Zozó Teki wrote:
> Hi,
> 
> I noticed that a win32 surface does not destroy its fallback image.

Thanks for the bug report.

commit fb1abbc4bc25c541cfb1084012a6a185c541c340
Author: Chris Wilson <[email protected]>
Date:   Fri Feb 15 14:04:21 2013 +0000

    win32: Free the fallback upon finish
 
> Creating a win32 display surface, doing something that creates the fallback and
> deleting the win32 surface will leak the fallback surface.
> 
> In the below patch (against 1.12.14) I do 2 things. 
> 
> 1. In _cairo_win32_display_surface_finish I add code to destroy the fallback
> image.
> 2. In _cairo_win32_display_surface_flush I modify the code to destroy the
> fallback image even if there was damage made to it (of course only after
> flushing the damage).

The point of not detaching the fallback in this case is to provide a
little bit of hystersis to reduce ping-pong migration. i.e. if we were
actively using the fallback, we are likely to again in the next
operation and if we were to destroy it we would have to read back the
whole surface again before commencing the fallback.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.