From d31d420f597fc0dc8e6ff6a14070b6bcb8213f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Tue, 16 Nov 2010 10:30:10 +0100 Subject: [PATCH] Symbols are required to save cairo state. --- src/ld-lua-symbol.c | 3 +++ src/ld-symbol.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/ld-lua-symbol.c b/src/ld-lua-symbol.c index 363c5cd..42fb31b 100644 --- a/src/ld-lua-symbol.c +++ b/src/ld-lua-symbol.c @@ -121,6 +121,9 @@ ld_lua_symbol_draw (LdSymbol *symbol, cairo_t *cr) g_return_if_fail (cr != NULL); self = LD_LUA_SYMBOL (symbol); + + cairo_save (cr); ld_lua_private_draw (self->priv->lua, self, cr); + cairo_restore (cr); } diff --git a/src/ld-symbol.c b/src/ld-symbol.c index 42c01cd..5919b8e 100644 --- a/src/ld-symbol.c +++ b/src/ld-symbol.c @@ -73,6 +73,9 @@ ld_symbol_area_get_type (void) * * #LdSymbol represents a symbol in the #LdDocument that is in turn * drawn onto the #LdCanvas. + * + * All implementations of this abstract class are required to use + * cairo_save() and cairo_restore() when drawing to store the state. */ G_DEFINE_ABSTRACT_TYPE (LdSymbol, ld_symbol, G_TYPE_OBJECT);