diff --git a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c index 67459dcc86..634542b43e 100644 --- a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c +++ b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop.c @@ -743,9 +743,9 @@ _ecore_desktop_destroy(Ecore_Desktop * desktop) IFFREE(desktop->window_name); IFFREE(desktop->window_title); IFFREE(desktop->window_role); - IFFREE(desktop->NotShowIn); - IFFREE(desktop->OnlyShowIn); - IFFREE(desktop->Categories); + if (desktop->NotShowIn) ecore_hash_destroy(desktop->NotShowIn); + if (desktop->OnlyShowIn) ecore_hash_destroy(desktop->OnlyShowIn); + if (desktop->Categories) ecore_hash_destroy(desktop->Categories); if (desktop->data) { ecore_hash_destroy(desktop->data); diff --git a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_icon.c b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_icon.c index 3118649ef9..b03c3e4129 100644 --- a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_icon.c +++ b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_icon.c @@ -575,6 +575,8 @@ _ecore_desktop_icon_theme_destroy(Ecore_Desktop_Icon_Theme * icon_theme) free(icon_theme->directories); if (icon_theme->Directories) ecore_list_destroy(icon_theme->Directories); + if (icon_theme->Inherits) + ecore_list_destroy(icon_theme->Inherits); free(icon_theme); } diff --git a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_menu.c b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_menu.c index ac705d9444..c874ca94b0 100644 --- a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_menu.c +++ b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_menu.c @@ -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_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; } diff --git a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_xmlame.c b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_xmlame.c index ca41274b79..96c6ee9d06 100644 --- a/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_xmlame.c +++ b/legacy/ecore/src/lib/ecore_desktop/ecore_desktop_xmlame.c @@ -64,6 +64,7 @@ ecore_desktop_xmlame_get(char *file) ecore_desktop_tree_extend(tree, file); _ecore_desktop_xmlame_parse(tree, buffer); } + //FIXME: free(buffer); } return tree; } @@ -89,7 +90,7 @@ _ecore_desktop_xmlame_parse(Ecore_Desktop_Tree * tree, char *buffer) t = *buffer; *buffer = '\0'; - ecore_desktop_tree_extend(tree, strdup(text)); + ecore_desktop_tree_extend(tree, text); *buffer = t; } if (*buffer != '\0')