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
This commit is contained in:
Sebastian Dransfeld 2011-02-09 08:40:39 +00:00
parent 8b90ca9676
commit 88efa51928
2 changed files with 2 additions and 7 deletions

View File

@ -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;
}

View File

@ -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);
}