Edje module functions: make sure that edje is initialized.
authorTilman Sauerbeck <tilman@code-monkey.de>
Sun, 8 May 2005 17:03:21 +0000 (17:03 +0000)
committerTilman Sauerbeck <tilman@code-monkey.de>
Sun, 8 May 2005 17:03:21 +0000 (17:03 +0000)
src/rb_edje_main.c

index d11d4565121cf206f3f1a460d18782173f0cd372..b8699bad24bcddadc83cd9434ca7a0c2b3810a2c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: rb_edje_main.c 330 2005-04-28 15:38:47Z tilman $
+ * $Id: rb_edje_main.c 345 2005-05-08 17:03:21Z tilman $
  *
  * Copyright (C) 2004 Tilman Sauerbeck (tilman at code-monkey de)
  *
@@ -34,7 +34,9 @@
  */
 static VALUE m_freeze (VALUE self)
 {
+       edje_init ();
        edje_freeze ();
+       edje_shutdown ();
 
        return Qnil;
 }
@@ -47,7 +49,9 @@ static VALUE m_freeze (VALUE self)
  */
 static VALUE m_thaw (VALUE self)
 {
+       edje_init ();
        edje_thaw ();
+       edje_shutdown ();
 
        return Qnil;
 }
@@ -60,7 +64,13 @@ static VALUE m_thaw (VALUE self)
  */
 static VALUE m_frametime_get (VALUE self)
 {
-       return rb_float_new (edje_frametime_get ());
+       VALUE ret;
+
+       edje_init ();
+       ret = rb_float_new (edje_frametime_get ());
+       edje_shutdown ();
+
+       return ret;
 }
 
 /*
@@ -73,7 +83,9 @@ static VALUE m_frametime_set (VALUE self, VALUE val)
 {
        Check_Type (val, T_FLOAT);
 
+       edje_init ();
        edje_frametime_set (NUM2DBL (val));
+       edje_shutdown ();
 
        return Qnil;
 }
@@ -87,14 +99,17 @@ static VALUE m_collections_get (VALUE self, VALUE file)
 
        ary = rb_ary_new ();
 
+       edje_init ();
+
        list = edje_file_collection_list (StringValuePtr (file));
-       if (!list)
-               return ary;
+       if (list) {
+               for (l = list; l; l = l->next)
+                       rb_ary_push (ary, rb_str_new2 (l->data));
 
-       for (l = list; l; l = l->next)
-               rb_ary_push (ary, rb_str_new2 (l->data));
+               edje_file_collection_list_free (list);
+       }
 
-       edje_file_collection_list_free (list);
+       edje_shutdown ();
 
        return ary;
 }