From 88efa519285b7e63385af66c24d35b8c8f66692a Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Wed, 9 Feb 2011 08:40:39 +0000 Subject: [PATCH] Fix segv correctly There should be no key starting with efreet in the cache, but make sure a theme exists before adding to the theme list. SVN revision: 56838 --- legacy/efreet/src/lib/efreet_cache.c | 6 ------ legacy/efreet/src/lib/efreet_icon.c | 3 ++- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/legacy/efreet/src/lib/efreet_cache.c b/legacy/efreet/src/lib/efreet_cache.c index 643b2f53c0..3d9b838f10 100644 --- a/legacy/efreet/src/lib/efreet_cache.c +++ b/legacy/efreet/src/lib/efreet_cache.c @@ -685,12 +685,6 @@ efreet_cache_icon_theme_name_list(int *num) memmove(&keys[i], &keys[i + 1], (*num - i - 1) * sizeof(char *)); (*num)--; } - /* this fixes segv of e's icon theme chooser. FIXME is this a not intended case?*/ - else if (!strncmp(keys[i], "efreet", 6) && (i < (*num + 1))) - { - memmove(&keys[i], &keys[i + 1], (*num - i - 1) * sizeof(char *)); - (*num)--; - } } return keys; } diff --git a/legacy/efreet/src/lib/efreet_icon.c b/legacy/efreet/src/lib/efreet_icon.c index 722ec347fa..81b0f6778d 100644 --- a/legacy/efreet/src/lib/efreet_icon.c +++ b/legacy/efreet/src/lib/efreet_icon.c @@ -237,7 +237,8 @@ efreet_icon_theme_list_get(void) Efreet_Icon_Theme *theme; theme = efreet_icon_theme_find(keys[i]); - list = eina_list_append(list, theme); + if (theme) + list = eina_list_append(list, theme); } free(keys); }