From e43d3598105112485664ddfa000959382c5e6b4f Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 24 Sep 2006 19:55:06 +0000 Subject: [PATCH] Add a sanity check, if there is no group of interest found, then this is not a .desktop that anybody would be interested in. SVN revision: 26111 --- legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c index aa54b5106c..e12697dcfb 100644 --- a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c +++ b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c @@ -454,7 +454,14 @@ _ecore_desktop_get(const char *file, const char *lang) } } - ecore_hash_set(desktop_cache, strdup(result->original_path), result); + /* Final sanity check. */ + if ((result->data) && (!result->group)) + { + _ecore_desktop_destroy(result); + result = NULL; + } + else + ecore_hash_set(desktop_cache, strdup(result->original_path), result); } error: @@ -489,7 +496,7 @@ ecore_desktop_save(Ecore_Desktop * desktop) { if ((desktop->ondisk) && (desktop->original_path)) { - if (!desktop->data) desktop->data = ecore_desktop_ini_get(desktop->original_path); + desktop->data = ecore_desktop_ini_get(desktop->original_path); desktop->group = (Ecore_Hash *) ecore_hash_get(desktop->data, "Desktop Entry"); if (!desktop->group)