Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/efreet

Dir     : e17/libs/efreet/src/lib


Modified Files:
        efreet_icon.c 


Log Message:
- guard the efreet_icon init/shutdown methods as efreet_mime is calling it
  internally

===================================================================
RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- efreet_icon.c       17 Jul 2007 19:21:20 -0000      1.23
+++ efreet_icon.c       19 Jul 2007 14:54:51 -0000      1.24
@@ -11,6 +11,8 @@
 Ecore_List *efreet_icon_extensions = NULL;
 static Ecore_List *efreet_extra_icon_dirs = NULL;
 
+static int efreet_icon_init_count = 0;
+
 static char *efreet_icon_remove_extension(const char *icon);
 static Efreet_Icon_Theme *efreet_icon_find_theme_check(const char *theme_name);
 
@@ -89,12 +91,19 @@
 int 
 efreet_icon_init(void)
 {
+    if (efreet_icon_init_count++ > 0)
+        return efreet_icon_init_count;
+
     if (!efreet_icon_themes)
     {
         const char *default_exts[] = {".png", ".xpm", NULL};
         int i;
 
-        if (!ecore_init()) return 0;
+        if (!ecore_init())
+        {
+            efreet_icon_init_count--;
+            return 0;
+        }
 
         /* setup the default extension list */
         efreet_icon_extensions = ecore_list_new();
@@ -120,6 +129,9 @@
 void
 efreet_icon_shutdown(void)
 {
+    if (--efreet_icon_init_count)
+        return;
+
     IF_FREE(efreet_icon_user_dir);
     IF_FREE(efreet_icon_deprecated_user_dir);
 
@@ -129,6 +141,7 @@
     IF_FREE_LIST(efreet_extra_icon_dirs);
 
     ecore_shutdown();
+    efreet_icon_init_count = 0;
 }
 
 /**



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to