[Pkg-e-commits] [SCM] Enlightenment DR17 support for freedesktop.org specs branch, new-svn-snapshot, updated. debian/0.5.0.050+svn20081114-1-394-g477c442

Albin Tonnerre albin.tonnerre at gmail.com
Mon Aug 3 17:02:23 UTC 2009


The following commit has been merged in the new-svn-snapshot branch:
commit 01f36cbe916c16945ba8236b2e032911d09c273d
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date:   Sun Aug 2 18:32:51 2009 +0200

    Import upstream release 0.5.0.062

diff --git a/AUTHORS b/AUTHORS
index 47a0100..7545644 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -3,3 +3,4 @@ Brian 'rephorm' Mattern
 Sebastian 'englebass' Dransfeld
 Nathan 'RbdPngn' Ingersoll
 Nicholas 'Mekius' Hughart
+Albin "Lutin" Tonnerre <albin.tonnerre at gmail.com>
diff --git a/configure b/configure
index 5c85b9b..95e6ce8 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for efreet 0.5.0.061.
+# Generated by GNU Autoconf 2.61 for efreet 0.5.0.062.
 #
 # Report bugs to <enlightenment-devel at lists.sourceforge.net>.
 #
@@ -723,8 +723,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='efreet'
 PACKAGE_TARNAME='efreet'
-PACKAGE_VERSION='0.5.0.061'
-PACKAGE_STRING='efreet 0.5.0.061'
+PACKAGE_VERSION='0.5.0.062'
+PACKAGE_STRING='efreet 0.5.0.062'
 PACKAGE_BUGREPORT='enlightenment-devel at lists.sourceforge.net'
 
 ac_unique_file="configure.ac"
@@ -1413,7 +1413,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures efreet 0.5.0.061 to adapt to many kinds of systems.
+\`configure' configures efreet 0.5.0.062 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1483,7 +1483,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of efreet 0.5.0.061:";;
+     short | recursive ) echo "Configuration of efreet 0.5.0.062:";;
    esac
   cat <<\_ACEOF
 
@@ -1593,7 +1593,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-efreet configure 0.5.0.061
+efreet configure 0.5.0.062
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1607,7 +1607,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by efreet $as_me 0.5.0.061, which was
+It was created by efreet $as_me 0.5.0.062, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2384,7 +2384,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='efreet'
- VERSION='0.5.0.061'
+ VERSION='0.5.0.062'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6008,7 +6008,6 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
 fi
 
 
@@ -6867,13 +6866,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:6870: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:6869: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:6873: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:6872: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:6876: output\"" >&5)
+  (eval echo "\"\$as_me:6875: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -7983,7 +7982,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 7986 "configure"' > conftest.$ac_ext
+  echo '#line 7985 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9427,11 +9426,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9430: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9429: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9434: \$? = $ac_status" >&5
+   echo "$as_me:9433: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9751,11 +9750,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9754: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9753: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9758: \$? = $ac_status" >&5
+   echo "$as_me:9757: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9856,11 +9855,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9859: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9858: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:9863: \$? = $ac_status" >&5
+   echo "$as_me:9862: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -9911,11 +9910,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9914: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9913: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:9918: \$? = $ac_status" >&5
+   echo "$as_me:9917: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12672,7 +12671,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12675 "configure"
+#line 12674 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12772,7 +12771,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12775 "configure"
+#line 12774 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13009,7 +13008,7 @@ VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-release="ver-svn-02"
+release="ver-svn-03"
 efreet_release_info="-release $release"
 efreet_mime_release_info="-release $release"
 efreet_trash_release_info="-release $release"
@@ -14086,7 +14085,8 @@ if test "x${efl_enable_doc}" = "xyes" ; then
 
 # Check whether --with-doxygen was given.
 if test "${with_doxygen+set}" = set; then
-  withval=$with_doxygen;       efl_doxygen=${withval}
+  withval=$with_doxygen;
+      efl_doxygen=${withval}
        # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
 set dummy ${efl_doxygen}; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -14657,7 +14657,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by efreet $as_me 0.5.0.061, which was
+This file was extended by efreet $as_me 0.5.0.062, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14710,7 +14710,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-efreet config.status 0.5.0.061
+efreet config.status 0.5.0.062
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index d658453..4a13c8c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 rm -f config.cache
 
-AC_INIT([efreet], [0.5.0.061], [enlightenment-devel at lists.sourceforge.net])
+AC_INIT([efreet], [0.5.0.062], [enlightenment-devel at lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
@@ -27,7 +27,7 @@ VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-release="ver-svn-02"
+release="ver-svn-03"
 efreet_release_info="-release $release"
 efreet_mime_release_info="-release $release"
 efreet_trash_release_info="-release $release"
diff --git a/efreet.spec b/efreet.spec
index 04be783..8c3052b 100644
--- a/efreet.spec
+++ b/efreet.spec
@@ -2,7 +2,7 @@
 
 Summary: FreeDesktop.Org Compatibility Library
 Name: efreet
-Version: 0.5.0.061
+Version: 0.5.0.062
 Release: 0.%(date '+%Y%m%d')
 License: BSD
 Group: System Environment/Libraries
diff --git a/m4/ac_attribute.m4 b/m4/ac_attribute.m4
index 3926d23..23479a9 100644
--- a/m4/ac_attribute.m4
+++ b/m4/ac_attribute.m4
@@ -31,8 +31,7 @@ int foo(int x __attribute__ ((unused)))
        [],
        [ac_cv___attribute__="yes"],
        [ac_cv___attribute__="no"]
-    )]
-)
+    )])
 
 AC_MSG_RESULT($ac_cv___attribute__)
 
@@ -44,3 +43,5 @@ if test "x${ac_cv___attribute__}" = "xyes" ; then
 fi
 
 ])
+
+dnl End of ac_attribute.m4
diff --git a/m4/efl_doxygen.m4 b/m4/efl_doxygen.m4
index dd6bc3e..d83ed68 100644
--- a/m4/efl_doxygen.m4
+++ b/m4/efl_doxygen.m4
@@ -32,9 +32,7 @@ AC_MSG_RESULT([${efl_enable_doc}])
 
 if test "x${efl_enable_doc}" = "xyes" ; then
 
-dnl
 dnl Specify the file name, without path
-dnl
 
    efl_doxygen="doxygen"
 
@@ -42,9 +40,9 @@ dnl
       [AC_HELP_STRING(
           [--with-doxygen=FILE],
           [doxygen program to use @<:@default=doxygen@:>@])],
-dnl
+
 dnl Check the given doxygen program.
-dnl
+
       [efl_doxygen=${withval}
        AC_CHECK_PROG([efl_have_doxygen],
           [${efl_doxygen}],
@@ -96,4 +94,4 @@ fi
 
 ])
 
-dnl End of doxygen.m4
+dnl End of efl_doxygen.m4
diff --git a/src/bin/ef_data_dirs.c b/src/bin/ef_data_dirs.c
index 02e3ae3..8270531 100644
--- a/src/bin/ef_data_dirs.c
+++ b/src/bin/ef_data_dirs.c
@@ -39,6 +39,9 @@ ef_cb_efreet_data_home(void)
     efreet_shutdown();
     unsetenv("XDG_DATA_HOME");
     unsetenv("HOME");
+#ifdef _WIN32
+    unsetenv("USERPROFILE");
+#endif
     efreet_init();
 
     tmp = efreet_data_home_get();
@@ -88,6 +91,9 @@ ef_cb_efreet_config_home(void)
     efreet_shutdown();
     unsetenv("XDG_CONFIG_HOME");
     unsetenv("HOME");
+#ifdef _WIN32
+    unsetenv("USERPROFILE");
+#endif
     efreet_init();
 
     tmp = efreet_config_home_get();
@@ -137,6 +143,9 @@ ef_cb_efreet_cache_home(void)
     efreet_shutdown();
     unsetenv("XDG_CACHE_HOME");
     unsetenv("HOME");
+#ifdef _WIN32
+    unsetenv("USERPROFILE");
+#endif
     efreet_init();
 
     tmp = efreet_cache_home_get();
diff --git a/src/bin/ef_desktop.c b/src/bin/ef_desktop.c
index 0c62589..2bf92a6 100644
--- a/src/bin/ef_desktop.c
+++ b/src/bin/ef_desktop.c
@@ -343,6 +343,7 @@ _cb_command(void *data, Efreet_Desktop *desktop __UNUSED__,
       info->error++;
     }
   }
+  free(exec);
   return NULL;
 }
 
diff --git a/src/bin/ef_icon_theme.c b/src/bin/ef_icon_theme.c
index 398692c..4d8f870 100644
--- a/src/bin/ef_icon_theme.c
+++ b/src/bin/ef_icon_theme.c
@@ -45,6 +45,9 @@ ef_cb_efreet_icon_theme(void)
 
     efreet_shutdown();
     unsetenv("HOME");
+#ifdef _WIN32
+    unsetenv("USERPROFILE");
+#endif
     efreet_init();
 
     tmp = efreet_icon_user_dir_get();
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index bed27fd..8203339 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -31,7 +31,7 @@ $(EFREETHEADERS)
 libefreet_la_SOURCES = \
 	$(EFREETSOURCES)
 libefreet_la_CPPFLAGS =  \
--DDATADIR=\"$(datadir)\" \
+-DPACKAGE_DATA_DIR=\"$(datadir)\" \
 -I$(top_builddir) \
 -I$(top_srcdir) \
 @EFL_EFREET_BUILD@ \
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index ba0fa97..62fc6bc 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -265,7 +265,7 @@ libefreet_la_SOURCES = \
 	$(EFREETSOURCES)
 
 libefreet_la_CPPFLAGS = \
--DDATADIR=\"$(datadir)\" \
+-DPACKAGE_DATA_DIR=\"$(datadir)\" \
 -I$(top_builddir) \
 -I$(top_srcdir) \
 @EFL_EFREET_BUILD@ \
diff --git a/src/lib/efreet_base.c b/src/lib/efreet_base.c
index ca0708f..ca89bb3 100644
--- a/src/lib/efreet_base.c
+++ b/src/lib/efreet_base.c
@@ -10,6 +10,12 @@
 #include "Efreet.h"
 #include "efreet_private.h"
 
+#ifdef _WIN32
+# define EFREET_PATH_SEP ';'
+#else
+# define EFREET_PATH_SEP ':'
+#endif
+
 static const char *efreet_home_dir = NULL;
 static const char *xdg_data_home = NULL;
 static const char *xdg_config_home = NULL;
@@ -30,6 +36,11 @@ int
 efreet_base_init(void)
 {
     if (!eina_stringshare_init()) return 0;
+    if (!eina_list_init())
+    {
+        eina_stringshare_shutdown();
+        return 0;
+    }
 
     return 1;
 }
@@ -50,6 +61,7 @@ efreet_base_shutdown(void)
     IF_FREE_LIST(xdg_data_dirs, eina_stringshare_del);
     IF_FREE_LIST(xdg_config_dirs, eina_stringshare_del);
 
+    eina_list_shutdown();
     eina_stringshare_shutdown();
 }
 
@@ -64,6 +76,10 @@ efreet_home_dir_get(void)
     if (efreet_home_dir) return efreet_home_dir;
 
     efreet_home_dir = getenv("HOME");
+#ifdef _WIN32
+    if (!efreet_home_dir || efreet_home_dir[0] == '\0')
+        efreet_home_dir = getenv("USERPROFILE");
+#endif
     if (!efreet_home_dir || efreet_home_dir[0] == '\0')
         efreet_home_dir = "/tmp";
 
@@ -96,9 +112,19 @@ efreet_data_home_get(void)
 EAPI Eina_List *
 efreet_data_dirs_get(void)
 {
+#ifdef _WIN32
+    char buf[4096];
+#endif
+
     if (xdg_data_dirs) return xdg_data_dirs;
+
+#ifdef _WIN32
+    snprintf(buf, 4096, "%s\\Efl;" PACKAGE_DATA_DIR ";/usr/share", getenv("APPDATA"));
+    xdg_data_dirs = efreet_dirs_get("XDG_DATA_DIRS", buf);
+#else
     xdg_data_dirs = efreet_dirs_get("XDG_DATA_DIRS",
-                            DATADIR ":/usr/share");
+                            PACKAGE_DATA_DIR ":/usr/share");
+#endif
     return xdg_data_dirs;
 }
 
@@ -199,7 +225,7 @@ efreet_dirs_get(const char *key, const char *fallback)
 
     tmp = strdup(path);
     s = tmp;
-    p = strchr(s, ':');
+    p = strchr(s, EFREET_PATH_SEP);
     while (p)
     {
         *p = '\0';
@@ -207,7 +233,7 @@ efreet_dirs_get(const char *key, const char *fallback)
             dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s));
 
         s = ++p;
-        p = strchr(s, ':');
+        p = strchr(s, EFREET_PATH_SEP);
     }
     if (!eina_list_search_unsorted(dirs, EINA_COMPARE_CB(strcmp), s))
       dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s));
diff --git a/src/lib/efreet_desktop.c b/src/lib/efreet_desktop.c
index 72aaf1f..18ebd13 100644
--- a/src/lib/efreet_desktop.c
+++ b/src/lib/efreet_desktop.c
@@ -1222,9 +1222,11 @@ efreet_desktop_command_progress_get(Efreet_Desktop *desktop, Eina_List *files,
     if (command->num_pending == 0)
     {
         Eina_List *execs;
+        char *exec;
+
         execs = efreet_desktop_command_build(command);
         ret = efreet_desktop_command_execs_process(command, execs);
-	eina_list_free(execs);
+        eina_list_free(execs);
         efreet_desktop_command_free(command);
     }
 
@@ -1780,10 +1782,12 @@ efreet_desktop_cb_download_complete(void *data, const char *file __UNUSED__,
     if (f->command->num_pending <= 0)
     {
         Eina_List *execs;
+        char *exec;
+
         execs = efreet_desktop_command_build(f->command);
         /* TODO: Need to handle the return value from efreet_desktop_command_execs_process */
         efreet_desktop_command_execs_process(f->command, execs);
-	eina_list_free(execs);
+        eina_list_free(execs);
         efreet_desktop_command_free(f->command);
     }
 }
diff --git a/src/lib/efreet_ini.c b/src/lib/efreet_ini.c
index 4e00104..98c224c 100644
--- a/src/lib/efreet_ini.c
+++ b/src/lib/efreet_ini.c
@@ -110,6 +110,8 @@ efreet_ini_parse(const char *file)
     struct stat file_stat;
     int line_length, left;
 
+    if (!file) return NULL;
+
     f = fopen(file, "rb");
     if (!f) return NULL;
 
diff --git a/src/lib/efreet_menu.c b/src/lib/efreet_menu.c
index c4b632b..6c62b11 100644
--- a/src/lib/efreet_menu.c
+++ b/src/lib/efreet_menu.c
@@ -1949,7 +1949,10 @@ efreet_menu_handle_legacy_dir_helper(Efreet_Menu_Internal *root,
 
         /* if the .desktop has categories it isn't legacy */
         if (efreet_desktop_category_count_get(desktop) != 0)
+        {
+            efreet_desktop_free(desktop);
             continue;
+        }
 
         /* XXX: This will disappear when the .desktop is free'd */
         efreet_desktop_category_add(desktop, "Legacy");
@@ -2547,9 +2550,12 @@ efreet_menu_entry_new(void)
 EAPI void
 efreet_menu_free(Efreet_Menu *entry)
 {
+    Efreet_Menu *sub;
+
     IF_RELEASE(entry->name);
     IF_RELEASE(entry->icon);
-    entry->entries = eina_list_free(entry->entries);
+    EINA_LIST_FREE(entry->entries, sub)
+        efreet_menu_free(sub);
     IF_RELEASE(entry->id);
     if (entry->desktop) efreet_desktop_free(entry->desktop);
     FREE(entry);
@@ -3420,7 +3426,10 @@ efreet_menu_app_dir_scan(Efreet_Menu_Internal *internal, const char *path, const
             if (eina_list_search_unsorted(internal->app_pool,
                                           EINA_COMPARE_CB(efreet_menu_cb_md_compare_ids),
                                           buf2))
+            {
+                if (desktop) efreet_desktop_free(desktop);
                 continue;
+            }
 
             menu_desktop = efreet_menu_desktop_new();
             menu_desktop->desktop = desktop;
diff --git a/src/lib/efreet_mime.c b/src/lib/efreet_mime.c
index 07b6b4c..8bec21e 100644
--- a/src/lib/efreet_mime.c
+++ b/src/lib/efreet_mime.c
@@ -366,7 +366,7 @@ efreet_mime_type_cache_clear(void)
         eina_hash_free(mime_icons);
         mime_icons_lru = NULL;
     }
-    mime_icons = eina_hash_pointer_new(EINA_FREE_CB(efreet_mime_icon_entry_head_free));
+    mime_icons = eina_hash_stringshared_new(EINA_FREE_CB(efreet_mime_icon_entry_head_free));
 }
 
 EAPI void
@@ -1049,6 +1049,7 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
             ptr = ++val;
 
             while (*ptr != '\n') ptr++;
+            ptr++;
         }
         else
         {
@@ -1070,7 +1071,6 @@ efreet_mime_shared_mimeinfo_magic_parse(char *data, int size)
                 entry->range_len = 1;
                 entry->mask = NULL;
                 entry->value = NULL;
-                ptr++;
 
                 mime->entries = eina_list_append(mime->entries, entry);
            }
@@ -1272,6 +1272,12 @@ efreet_mime_magic_check_priority(const char *file,
                 }
             }
         }
+
+        if (match)
+        {
+            fclose(f);
+            return last_mime;
+        }
     }
     fclose(f);
 
diff --git a/src/lib/efreet_xml.c b/src/lib/efreet_xml.c
index 1d60a26..a70c0ae 100644
--- a/src/lib/efreet_xml.c
+++ b/src/lib/efreet_xml.c
@@ -13,10 +13,6 @@
 #include <unistd.h>
 #include <sys/mman.h>
 
-#ifdef HAVE_EVIL
-# include <Evil.h>
-#endif
-
 #include <Ecore_File.h>
 
 #include "Efreet.h"

-- 
Enlightenment DR17 support for freedesktop.org specs



More information about the Pkg-e-commits mailing list