From 774e8297d20802fd4b1a868bfc5f8f6507f61e69 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Tue, 9 Jun 2015 14:29:25 +0900 Subject: [PATCH] e - shelf menu - handle deletion properly if cb is not for shelf menu it seems that some changes now make the shel menu post callback be called for older menus not part of the shelf and thus shelf menu stored != menu the cb is for - thus resulting in deletion of the wrong menu --- src/bin/e_shelf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index ee87d0b58..d1387781b 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1614,13 +1614,13 @@ _e_shelf_cb_menu_delete(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item *mi EINA_ } static void -_e_shelf_cb_menu_post(void *data, E_Menu *m EINA_UNUSED) +_e_shelf_cb_menu_post(void *data, E_Menu *m) { E_Shelf *es; es = data; - if (!es->menu) return; - e_object_del(E_OBJECT(es->menu)); + e_object_del(E_OBJECT(m)); + if (m != es->menu) return; es->menu = NULL; }