win32: mark-dirty cannot assume the fallback has been discarded

Flushing only releases the fallback if we flush twice with no
intervening damage (the theory is to try and reduce readbacks). So it is
possible for a correctly behaving application to call mark-dirty and there
still be a fallback.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-03-23 14:22:22 +00:00
parent 2121887030
commit 8416b40f43

View file

@ -566,8 +566,7 @@ static cairo_status_t
_cairo_win32_display_surface_mark_dirty (void *abstract_surface,
int x, int y, int width, int height)
{
cairo_win32_display_surface_t *surface = abstract_surface;
assert (surface->fallback == NULL);
_cairo_win32_display_surface_discard_fallback (abstract_surface);
return CAIRO_STATUS_SUCCESS;
}