projects
/
ruby-evas.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Create the callbacks hash on first use.
[ruby-evas.git]
/
src
/
rb_evas_object.c
diff --git
a/src/rb_evas_object.c
b/src/rb_evas_object.c
index 6a4c5748588d8b6d62f5ced33c3b6f7236c69d2b..c2d39af4f9c7661dd90e69a6638e98f80620cdf6 100644
(file)
--- a/
src/rb_evas_object.c
+++ b/
src/rb_evas_object.c
@@
-1,5
+1,5
@@
/*
/*
- * $Id: rb_evas_object.c
105 2004-08-29 15:45:48
Z tilman $
+ * $Id: rb_evas_object.c
302 2005-03-22 17:41:35
Z tilman $
*
* Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
*
*
* Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
*
@@
-49,6
+49,9
@@
VALUE TO_EVAS_OBJECT (Evas_Object *o)
void c_evas_object_mark (RbEvasObject *e)
{
rb_gc_mark (e->parent);
void c_evas_object_mark (RbEvasObject *e)
{
rb_gc_mark (e->parent);
+
+ if (!NIL_P (e->callbacks))
+ rb_gc_mark (e->callbacks);
}
void c_evas_object_free (RbEvasObject *e, bool free_mem)
}
void c_evas_object_free (RbEvasObject *e, bool free_mem)
@@
-68,6
+71,7
@@
static VALUE c_init (VALUE self, VALUE parent)
evas_object_data_set (e->real, RUBY_EVAS_OBJECT_KEY, (void *) self);
e->parent = parent;
evas_object_data_set (e->real, RUBY_EVAS_OBJECT_KEY, (void *) self);
e->parent = parent;
+ e->callbacks = Qnil;
return self;
}
return self;
}
@@
-466,8
+470,6
@@
static VALUE c_stack_below (VALUE self, VALUE target)
*/
static VALUE c_above_get (VALUE self)
{
*/
static VALUE c_above_get (VALUE self)
{
- Evas_Object *o;
-
GET_OBJ (self, RbEvasObject, e);
return TO_EVAS_OBJECT (evas_object_above_get (e->real));
GET_OBJ (self, RbEvasObject, e);
return TO_EVAS_OBJECT (evas_object_above_get (e->real));
@@
-482,8
+484,6
@@
static VALUE c_above_get (VALUE self)
*/
static VALUE c_below_get (VALUE self)
{
*/
static VALUE c_below_get (VALUE self)
{
- Evas_Object *o;
-
GET_OBJ (self, RbEvasObject, e);
return TO_EVAS_OBJECT (evas_object_below_get (e->real));
GET_OBJ (self, RbEvasObject, e);
return TO_EVAS_OBJECT (evas_object_below_get (e->real));