xlib: Do not call _cairo_xlib_surface_flush directly

Use the higher level layer to be sure we detach any snapshots and other
cached data that is invalidated along with the change of Drawable.

Pointed out by the eternally wise Uli Schlachter.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-09-13 17:00:24 +01:00
parent 69d97d97be
commit 97282ef51a

View file

@ -2067,7 +2067,7 @@ cairo_xlib_surface_set_size (cairo_surface_t *abstract_surface,
return;
}
status = _cairo_xlib_surface_flush (abstract_surface, 0);
status = _cairo_surface_flush (abstract_surface, 0);
if (unlikely (status)) {
_cairo_surface_set_error (abstract_surface, status);
return;
@ -2128,7 +2128,7 @@ cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface,
if (surface->owns_pixmap)
return;
status = _cairo_xlib_surface_flush (abstract_surface, 0);
status = _cairo_surface_flush (abstract_surface, 0);
if (unlikely (status)) {
_cairo_surface_set_error (abstract_surface, status);
return;