Fix memleaks.

SVN revision: 29174
This commit is contained in:
Sebastian Dransfeld 2007-03-26 16:33:00 +00:00
parent a5c612d485
commit da87c81a3b
1 changed files with 21 additions and 4 deletions

View File

@ -48,6 +48,7 @@ int
ef_cb_menu_save(void) ef_cb_menu_save(void)
{ {
Efreet_Menu *menu; Efreet_Menu *menu;
int ret;
// menu = efreet_menu_get(); // menu = efreet_menu_get();
menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu"); menu = efreet_menu_parse(PACKAGE_DATA_DIR"/efreet/test/test.menu");
@ -57,7 +58,9 @@ ef_cb_menu_save(void)
return 0; return 0;
} }
unlink("/tmp/test.menu"); unlink("/tmp/test.menu");
return efreet_menu_save(menu, "/tmp/test.menu"); ret = efreet_menu_save(menu, "/tmp/test.menu");
efreet_menu_free(menu);
return ret;
} }
int int
@ -82,6 +85,7 @@ ef_cb_menu_edit(void)
desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop"); desktop = efreet_desktop_get(PACKAGE_DATA_DIR"/efreet/test/test.desktop");
if (!desktop) if (!desktop)
{ {
efreet_menu_free(menu);
printf("No desktop found.\n"); printf("No desktop found.\n");
return 0; return 0;
} }
@ -94,7 +98,11 @@ ef_cb_menu_edit(void)
#endif #endif
ecore_list_goto_first(menu->entries); ecore_list_goto_first(menu->entries);
entry = ecore_list_current(menu->entries); entry = ecore_list_current(menu->entries);
if (desktop != entry->desktop) return 0; if (desktop != entry->desktop)
{
efreet_menu_free(menu);
return 0;
}
efreet_menu_desktop_insert(menu, desktop, 2); efreet_menu_desktop_insert(menu, desktop, 2);
#if 0 #if 0
@ -104,7 +112,11 @@ ef_cb_menu_edit(void)
#endif #endif
ecore_list_goto_index(menu->entries, 2); ecore_list_goto_index(menu->entries, 2);
entry = ecore_list_current(menu->entries); entry = ecore_list_current(menu->entries);
if (desktop != entry->desktop) return 0; if (desktop != entry->desktop)
{
efreet_menu_free(menu);
return 0;
}
efreet_menu_desktop_insert(menu, desktop, -1); efreet_menu_desktop_insert(menu, desktop, -1);
#if 0 #if 0
@ -114,8 +126,13 @@ ef_cb_menu_edit(void)
#endif #endif
ecore_list_goto_last(menu->entries); ecore_list_goto_last(menu->entries);
entry = ecore_list_current(menu->entries); entry = ecore_list_current(menu->entries);
if (desktop != entry->desktop) return 0; if (desktop != entry->desktop)
{
efreet_menu_free(menu);
return 0;
}
efreet_menu_free(menu);
return 1; return 1;
} }