free some leaks reported by valgrind in src/bin tests.

SVN revision: 41117
This commit is contained in:
Gustavo Sverzut Barbieri 2009-06-20 06:19:48 +00:00
parent 728b003fee
commit 3871aed422
2 changed files with 14 additions and 2 deletions

View File

@ -1222,9 +1222,12 @@ 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, exec)
free(exec);
efreet_desktop_command_free(command);
}

View File

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