summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-07-05 18:23:37 +0200
committerBenjamin Otte <otte@redhat.com>2010-07-05 18:38:33 +0200
commitc1689ef6f27f99c36e1a5f4de658363ca0aad25a (patch)
tree0de8c91bb929507949ee149c8b58002522cb68cb
parentcf0245c1201d4884ff19e881e9c118784fa14884 (diff)
surface: don't call begin_modification on finished surfaces
Fixes https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622 Caught by api-special-cases test
-rw-r--r--src/cairo-surface.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cairo-surface.c b/src/cairo-surface.c
index 8806f139e..642a75b8b 100644
--- a/src/cairo-surface.c
+++ b/src/cairo-surface.c
@@ -2346,14 +2346,14 @@ cairo_surface_show_page (cairo_surface_t *surface)
if (surface->status)
return;
- _cairo_surface_begin_modification (surface);
-
if (surface->finished) {
status_ignored = _cairo_surface_set_error (surface,
CAIRO_STATUS_SURFACE_FINISHED);
return;
}
+ _cairo_surface_begin_modification (surface);
+
/* It's fine if some backends don't implement show_page */
if (surface->backend->show_page == NULL)
return;