hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=178ca51dcb4c27e6e3d1d869db1c6e3497ef9520
commit 178ca51dcb4c27e6e3d1d869db1c6e3497ef9520 Author: ChunEon Park <[email protected]> Date: Wed Aug 13 19:28:35 2014 +0900 live_edit: don't create menu multiple times. --- src/bin/live_edit.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c index b446753..7fa8e26 100644 --- a/src/bin/live_edit.c +++ b/src/bin/live_edit.c @@ -239,6 +239,14 @@ menu_it_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) ld->menu = NULL; } +static void +menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + live_data *ld = data; + evas_object_del(obj); + ld->menu = NULL; +} + static Evas_Object * menu_create(Evas_Object *parent, live_data *ld) { @@ -246,6 +254,7 @@ menu_create(Evas_Object *parent, live_data *ld) Evas_Object* icon; Elm_Object_Item *it; Evas_Object *menu = elm_menu_add(parent); + evas_object_smart_callback_add(menu, "dismissed", menu_dismissed_cb, ld); for (i = 0; i < MENU_ITEMS_NUM; i++) { @@ -269,6 +278,8 @@ layout_mouse_up_cb(void *data, Evas *e EINA_UNUSED, // Check if the right button is pressed if (ev->button != 3) return; + if (ld->menu) return; + ld->menu = menu_create(obj, ld); elm_menu_move(ld->menu, ev->canvas.x, ev->canvas.y); --
