From e388ff1ae732970d6166780817ec121cf58ccd0e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 5 Jul 2010 18:24:23 +0200 Subject: [PATCH] surface: Fail early if create_similar() is called on a finished surface Caught by api-special-cases test --- src/cairo-surface.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cairo-surface.c b/src/cairo-surface.c index 642a75b8b..d0e3a55c8 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -453,6 +453,8 @@ cairo_surface_create_similar (cairo_surface_t *other, { if (unlikely (other->status)) return _cairo_surface_create_in_error (other->status); + if (unlikely (other->finished)) + return _cairo_surface_create_in_error (CAIRO_STATUS_SURFACE_FINISHED); if (unlikely (! CAIRO_CONTENT_VALID (content))) return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_CONTENT));