From 362c037f20bd5c1f6c3b5ccb4b98030b8843c155 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 30 Jul 2012 12:10:31 +0000 Subject: [PATCH] also don't leak in the fix I committed SVN revision: 74584 --- src/modules/fileman/e_mod_main.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modules/fileman/e_mod_main.c b/src/modules/fileman/e_mod_main.c index 4ff7ec6dc..b2ac7630e 100644 --- a/src/modules/fileman/e_mod_main.c +++ b/src/modules/fileman/e_mod_main.c @@ -346,6 +346,14 @@ _e_mod_fileman_parse_gtk_bookmarks(E_Menu *m, } } +static void +_e_mod_menu_virtual_cleanup_cb(void *obj) +{ + E_Menu_Item *mi = obj; + + eina_stringshare_del(mi->cb.data); +} + /* menu item add hook */ void _e_mod_menu_generate(void *data __UNUSED__, @@ -362,18 +370,21 @@ _e_mod_menu_generate(void *data __UNUSED__, e_menu_item_label_set(mi, _("Home")); e_util_menu_item_theme_icon_set(mi, "user-home"); e_menu_item_callback_set(mi, _e_mod_menu_virtual_cb, eina_stringshare_add("~/")); + e_object_free_attach_func_set(E_OBJECT(mi), _e_mod_menu_virtual_cleanup_cb); /* Desktop */ mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Desktop")); e_util_menu_item_theme_icon_set(mi, "user-desktop"); e_menu_item_callback_set(mi, _e_mod_menu_virtual_cb, eina_stringshare_add("desktop")); + e_object_free_attach_func_set(E_OBJECT(mi), _e_mod_menu_virtual_cleanup_cb); /* Favorites */ mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Favorites")); e_util_menu_item_theme_icon_set(mi, "user-bookmarks"); e_menu_item_callback_set(mi, _e_mod_menu_virtual_cb, eina_stringshare_add("favorites")); + e_object_free_attach_func_set(E_OBJECT(mi), _e_mod_menu_virtual_cleanup_cb); /* Trash */ //~ mi = e_menu_item_new(em); @@ -386,6 +397,7 @@ _e_mod_menu_generate(void *data __UNUSED__, e_menu_item_label_set(mi, _("Root")); e_util_menu_item_theme_icon_set(mi, "computer"); e_menu_item_callback_set(mi, _e_mod_menu_virtual_cb, eina_stringshare_add("/")); + e_object_free_attach_func_set(E_OBJECT(mi), _e_mod_menu_virtual_cleanup_cb); need_separator = 1;