diff --git a/src/bin/e_bg.c b/src/bin/e_bg.c index 266aa9de6..4e8b9057e 100644 --- a/src/bin/e_bg.c +++ b/src/bin/e_bg.c @@ -47,8 +47,12 @@ e_bg_shutdown(void) Evas_List *l = NULL; /* Deregister mime handler */ - if (bg_hdl) e_fm2_mime_handler_free(bg_hdl); - + if (bg_hdl) + { + e_fm2_mime_handler_glob_del(bg_hdl, "*.edj"); + e_fm2_mime_handler_free(bg_hdl); + } + /* Deregister files in use */ if (e_config->desktop_default_background) e_filereg_deregister(e_config->desktop_default_background); diff --git a/src/bin/e_fm_mime.c b/src/bin/e_fm_mime.c index 41658512b..72f07467c 100644 --- a/src/bin/e_fm_mime.c +++ b/src/bin/e_fm_mime.c @@ -13,7 +13,7 @@ struct _E_Fm2_Mime_Handler_Tuple /* local subsystem functions */ static Evas_Bool _e_fm2_mime_handler_glob_match_foreach(Evas_Hash *hash __UNUSED__, const char *key, void *data, void *fdata); -static Evas_Bool _e_fm_mime_icon_foreach(Evas_Hash *hash, const char *key, void *data, void *fdata); +static Evas_Bool _e_fm_mime_icon_foreach(Evas_Hash *hash __UNUSED__, const char *key __UNUSED__, void *data, void *fdata); static Evas_Hash *icon_map = NULL; static Evas_Hash *_mime_handlers = NULL; @@ -155,6 +155,7 @@ EAPI void e_fm2_mime_handler_free(E_Fm2_Mime_Handler *handler) { if (!handler) return; + evas_stringshare_del(handler->label); if (handler->icon_group) evas_stringshare_del(handler->icon_group); E_FREE(handler); @@ -362,7 +363,7 @@ _e_fm2_mime_handler_glob_match_foreach(Evas_Hash *hash __UNUSED__, const char *k Evas_List *l = NULL; tuple = fdata; - if (e_util_glob_match(tuple->str, key)) + if (e_util_glob_match(tuple->str, key)) { handlers = data; for (l = handlers; l; l = l->next) @@ -376,7 +377,7 @@ _e_fm2_mime_handler_glob_match_foreach(Evas_Hash *hash __UNUSED__, const char *k } static Evas_Bool -_e_fm_mime_icon_foreach(Evas_Hash *hash, const char *key, void *data, void *fdata) +_e_fm_mime_icon_foreach(Evas_Hash *hash __UNUSED__, const char *key __UNUSED__, void *data, void *fdata) { Evas_List **freelist; diff --git a/src/bin/e_theme.c b/src/bin/e_theme.c index f5eefe047..9b37b2816 100644 --- a/src/bin/e_theme.c +++ b/src/bin/e_theme.c @@ -103,7 +103,11 @@ e_theme_init(void) EAPI int e_theme_shutdown(void) { - if (theme_hdl) e_fm2_mime_handler_free(theme_hdl); + if (theme_hdl) + { + e_fm2_mime_handler_glob_del(theme_hdl, "*.edj"); + e_fm2_mime_handler_free(theme_hdl); + } if (mappings) {