efl/evas: make shutdown/init cycle work again.
authorCedric BAIL <cedric.bail@free.fr>
Sun, 27 Jan 2013 08:42:57 +0000 (08:42 +0000)
committerCedric BAIL <cedric.bail@free.fr>
Sun, 27 Jan 2013 08:42:57 +0000 (08:42 +0000)
SVN revision: 83368

src/lib/evas/canvas/evas_object_main.c

index 373ae61..680eab1 100644 (file)
@@ -37,9 +37,7 @@ Eina_Cow *evas_object_map_cow = NULL;
 static Eina_Bool
 _init_cow(void)
 {
-   static Eina_Bool inited_cow = EINA_FALSE;
-
-   if (inited_cow) return inited_cow;
+   if (evas_object_map_cow && evas_object_proxy_cow) return EINA_TRUE;
 
    evas_object_proxy_cow = eina_cow_add("Evas Object Proxy", sizeof (Evas_Object_Proxy_Data), 8, &default_proxy);
    evas_object_map_cow = eina_cow_add("Evas Object Map", sizeof (Evas_Object_Map_Data), 8, &default_map);
@@ -48,10 +46,11 @@ _init_cow(void)
      {
         eina_cow_del(evas_object_proxy_cow);
         eina_cow_del(evas_object_map_cow);
+        evas_object_proxy_cow = NULL;
+        evas_object_map_cow = NULL;
         return EINA_FALSE;
      }
 
-   inited_cow = EINA_TRUE;
    return EINA_TRUE;
 }