From d31d420f597fc0dc8e6ff6a14070b6bcb8213f08 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Tue, 16 Nov 2010 10:30:10 +0100
Subject: Symbols are required to save cairo state.
---
src/ld-lua-symbol.c | 3 +++
src/ld-symbol.c | 3 +++
2 files changed, 6 insertions(+)
(limited to 'src')
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);
--
cgit v1.2.3-70-g09d2