Fix mem leaks.

SVN revision: 26088
This commit is contained in:
sebastid 2006-09-24 09:28:21 +00:00 committed by sebastid
parent 5608f9adcf
commit 036f824be9
4 changed files with 10 additions and 7 deletions

View File

@ -743,9 +743,9 @@ _ecore_desktop_destroy(Ecore_Desktop * desktop)
IFFREE(desktop->window_name); IFFREE(desktop->window_name);
IFFREE(desktop->window_title); IFFREE(desktop->window_title);
IFFREE(desktop->window_role); IFFREE(desktop->window_role);
IFFREE(desktop->NotShowIn); if (desktop->NotShowIn) ecore_hash_destroy(desktop->NotShowIn);
IFFREE(desktop->OnlyShowIn); if (desktop->OnlyShowIn) ecore_hash_destroy(desktop->OnlyShowIn);
IFFREE(desktop->Categories); if (desktop->Categories) ecore_hash_destroy(desktop->Categories);
if (desktop->data) if (desktop->data)
{ {
ecore_hash_destroy(desktop->data); ecore_hash_destroy(desktop->data);

View File

@ -575,6 +575,8 @@ _ecore_desktop_icon_theme_destroy(Ecore_Desktop_Icon_Theme * icon_theme)
free(icon_theme->directories); free(icon_theme->directories);
if (icon_theme->Directories) if (icon_theme->Directories)
ecore_list_destroy(icon_theme->Directories); ecore_list_destroy(icon_theme->Directories);
if (icon_theme->Inherits)
ecore_list_destroy(icon_theme->Inherits);
free(icon_theme); free(icon_theme);
} }

View File

@ -315,10 +315,10 @@ _ecore_desktop_menu_get0(char *file, Ecore_Desktop_Tree * merge_stack,
{ {
E_FN_DEL(ecore_desktop_tree_del, (merge_stack)); E_FN_DEL(ecore_desktop_tree_del, (merge_stack));
} }
E_FREE(data.path);
E_FREE(data.base);
E_FN_DEL(ecore_desktop_tree_del, (data.stack));
} }
E_FN_DEL(ecore_desktop_tree_del, (data.stack));
E_FREE(data.path);
E_FREE(data.base);
return menu_xml; return menu_xml;
} }

View File

@ -64,6 +64,7 @@ ecore_desktop_xmlame_get(char *file)
ecore_desktop_tree_extend(tree, file); ecore_desktop_tree_extend(tree, file);
_ecore_desktop_xmlame_parse(tree, buffer); _ecore_desktop_xmlame_parse(tree, buffer);
} }
//FIXME: free(buffer);
} }
return tree; return tree;
} }
@ -89,7 +90,7 @@ _ecore_desktop_xmlame_parse(Ecore_Desktop_Tree * tree, char *buffer)
t = *buffer; t = *buffer;
*buffer = '\0'; *buffer = '\0';
ecore_desktop_tree_extend(tree, strdup(text)); ecore_desktop_tree_extend(tree, text);
*buffer = t; *buffer = t;
} }
if (*buffer != '\0') if (*buffer != '\0')