diff options
author | Marcel Hollerbach <marcel@osg.samsung.com> | 2017-12-04 23:16:09 +0000 |
---|---|---|
committer | Marcel Hollerbach <marcel@osg.samsung.com> | 2017-12-04 23:16:09 +0000 |
commit | ea431832d75339eb980c6ed1a6b53779019d279b (patch) | |
tree | 3effd4fe74c66c4d11d97818d68799c3d5c63a9c | |
parent | b19cceb224a81a471faa1a3712e919550cc46a53 (diff) | |
download | enlightenment-devs/bu5hm4n/sandbox_fix.tar.gz |
__WIP__devs/bu5hm4n/sandbox_fix
just to show okra
-rw-r--r-- | src/bin/e_gadget_runner.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/bin/e_gadget_runner.c b/src/bin/e_gadget_runner.c index eb11b6ecbd..2a8feecce4 100644 --- a/src/bin/e_gadget_runner.c +++ b/src/bin/e_gadget_runner.c @@ -527,7 +527,6 @@ popup_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EI Instance *inst = data; Evas_Object *ext; - inst->ctxpopup = NULL; ext = evas_object_data_get(obj, "extracted"); elm_box_unpack_all(obj); inst->extracted = eina_list_remove(inst->extracted, ext); @@ -544,8 +543,13 @@ static void popup_hide(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Instance *inst = data; - elm_ctxpopup_dismiss(inst->ctxpopup); - evas_object_del(elm_object_content_get(inst->ctxpopup)); + if (obj == inst->ctxpopup) + { + elm_ctxpopup_dismiss(inst->ctxpopup); + evas_object_del(elm_object_content_get(inst->ctxpopup)); + inst->ctxpopup = NULL; + } + } static void @@ -589,6 +593,9 @@ popup_added(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) if (!efl_wl_surface_extract(event_info)) return; inst->extracted = eina_list_append(inst->extracted, event_info); + if (inst->ctxpopup) + evas_object_del(inst->ctxpopup); + inst->ctxpopup = elm_ctxpopup_add(inst->box); elm_object_style_set(inst->ctxpopup, "noblock"); evas_object_smart_callback_add(inst->ctxpopup, "dismissed", popup_dismissed, inst); |