summaryrefslogtreecommitdiff
path: root/src/cairo-device.c
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2011-07-05 21:37:40 +0200
committerAndrea Canciani <ranma42@gmail.com>2011-07-29 13:01:59 +0200
commit6ec24760b32da5ca1f0a67f6ff344b91f8bc020c (patch)
tree7d986e4df34d25d736b2d07cd6116378e201fae8 /src/cairo-device.c
parent74a86a76a9c32a74d63712b718c90669889820e6 (diff)
downloadcairo-6ec24760b32da5ca1f0a67f6ff344b91f8bc020c.tar.gz
device: Flush on a finished device is a no-op
In order to have a behavior which is coherent with that of surfaces, flushing a finished devices should be a no-op and should not affect the status of the device.
Diffstat (limited to 'src/cairo-device.c')
-rw-r--r--src/cairo-device.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-device.c b/src/cairo-device.c
index c6405478a..fd1ec71de 100644
--- a/src/cairo-device.c
+++ b/src/cairo-device.c
@@ -256,6 +256,9 @@ cairo_device_flush (cairo_device_t *device)
if (device == NULL || device->status)
return;
+ if (device->finished)
+ return;
+
if (device->backend->flush != NULL) {
status = device->backend->flush (device);
if (unlikely (status))