[prev in list] [next in list] [prev in thread] [next in thread]
List: cairo-commit
Subject: [cairo-commit] src/cairo-default-context.c
From: ranma42 () kemper ! freedesktop ! org (Andrea Canciani)
Date: 2011-07-30 7:53:03
Message-ID: 20110730075303.AE7B6D8002 () kemper ! freedesktop ! org
[Download RAW message or body]
src/cairo-default-context.c | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit 6155348966b89a216d2e5ee0b4784507a0226a9f
Author: Andrea Canciani <ranma42@gmail.com>
Date: Sat Jul 30 09:46:33 2011 +0200
default-context: Do not allow restoring pushed gstates
The brackets defined by push/pop and save/restore are independent ad
should match properly.
This means that cairo_push()-ed gstates cannot be cairo_restore()-d
and cairo_save()-d gstates cannot be cairo_pop()-ed.
Fixes group-state.
diff --git a/src/cairo-default-context.c b/src/cairo-default-context.c
index 1798e5c..4124632 100644
--- a/src/cairo-default-context.c
+++ b/src/cairo-default-context.c
@@ -119,6 +119,9 @@ _cairo_default_context_restore (void *abstract_cr)
{
cairo_default_context_t *cr = abstract_cr;
+ if (unlikely (_cairo_gstate_is_group (cr->gstate)))
+ return _cairo_error (CAIRO_STATUS_INVALID_RESTORE);
+
return _cairo_gstate_restore (&cr->gstate, &cr->gstate_freelist);
}
_______________________________________________
cairo-commit mailing list
cairo-commit@lists.cairographics.org
http://lists.cairographics.org/mailman/listinfo/cairo-commit
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic