/*
- * $Id: rb_edje.c 288 2005-03-15 18:09:01Z tilman $
+ * $Id: rb_edje.c 307 2005-03-23 17:30:30Z tilman $
*
* Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
*
{
c_evas_object_mark (&e->real);
- rb_gc_mark (e->parts);
- rb_gc_mark (e->callbacks);
+ if (!NIL_P (e->parts))
+ rb_gc_mark (e->parts);
+
+ if (!NIL_P (e->callbacks))
+ rb_gc_mark (e->callbacks);
if (!NIL_P (e->on_text_changed_cb))
rb_gc_mark (e->on_text_changed_cb);
self = Data_Make_Struct (klass, RbEdje, c_mark, c_free, edje);
edje->real.real = edje_object_add (e->real);
- edje->parts = rb_hash_new ();
- edje->callbacks = rb_ary_new ();
+ edje->parts = Qnil;
+ edje->callbacks = Qnil;
edje->on_text_changed_cb = Qnil;
argv[0] = evas;
return Qnil;
}
+ if (NIL_P (e->parts))
+ e->parts = rb_hash_new ();
+
if (NIL_P (part = rb_hash_aref (e->parts, name))) {
part = TO_PART (self, name);
rb_hash_aset (e->parts, name, part);
name = rb_str_new2 (part_name);
+ if (NIL_P (e->parts))
+ e->parts = rb_hash_new ();
+
if (NIL_P (part = rb_hash_aref (e->parts, name))) {
part = TO_PART (self, name);
rb_hash_aset (e->parts, name, part);
return Qnil;
cb = rb_block_proc ();
+
+ if (NIL_P (e->callbacks))
+ e->callbacks = rb_ary_new ();
+
rb_ary_push (e->callbacks, cb);
edje_object_signal_callback_add (e->real.real,