Revert "Revert "evas: refcounting initialisation and protect things.""
authorCedric BAIL <cedric@osg.samsung.com>
Mon, 23 Feb 2015 10:36:03 +0000 (11:36 +0100)
committerCedric BAIL <cedric@osg.samsung.com>
Mon, 23 Feb 2015 10:36:03 +0000 (11:36 +0100)
This reverts commit 789633b321dbb0669b93ba2da3bbaaede3de6233.

Now this should be useful since we have refactored the shutdown logic of all engine.

src/lib/evas/common/evas_draw_main.c

index 76328ff..27541bb 100644 (file)
@@ -32,9 +32,13 @@ evas_common_draw_context_cutouts_del(Cutout_Rects* rects, int idx)
      }
 }
 
+static int _init_count = 0;
+
 EAPI void
 evas_common_init(void)
 {
+   if (_init_count++) return ;
+
    evas_common_cpu_init();
 
    evas_common_blend_init();
@@ -53,6 +57,8 @@ evas_common_init(void)
 EAPI void
 evas_common_shutdown(void)
 {
+   if (--_init_count) return ;
+
    evas_font_dir_cache_free();
    evas_common_font_shutdown();
    evas_common_image_shutdown();