summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2017-12-04 23:16:09 +0000
committerMarcel Hollerbach <marcel@osg.samsung.com>2017-12-04 23:16:09 +0000
commitea431832d75339eb980c6ed1a6b53779019d279b (patch)
tree3effd4fe74c66c4d11d97818d68799c3d5c63a9c
parentb19cceb224a81a471faa1a3712e919550cc46a53 (diff)
just to show okra
-rw-r--r--src/bin/e_gadget_runner.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/bin/e_gadget_runner.c b/src/bin/e_gadget_runner.c
index eb11b6ecb..2a8feecce 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
527 Instance *inst = data; 527 Instance *inst = data;
528 Evas_Object *ext; 528 Evas_Object *ext;
529 529
530 inst->ctxpopup = NULL;
531 ext = evas_object_data_get(obj, "extracted"); 530 ext = evas_object_data_get(obj, "extracted");
532 elm_box_unpack_all(obj); 531 elm_box_unpack_all(obj);
533 inst->extracted = eina_list_remove(inst->extracted, ext); 532 inst->extracted = eina_list_remove(inst->extracted, ext);
@@ -544,8 +543,13 @@ static void
544popup_hide(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 543popup_hide(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
545{ 544{
546 Instance *inst = data; 545 Instance *inst = data;
547 elm_ctxpopup_dismiss(inst->ctxpopup); 546 if (obj == inst->ctxpopup)
548 evas_object_del(elm_object_content_get(inst->ctxpopup)); 547 {
548 elm_ctxpopup_dismiss(inst->ctxpopup);
549 evas_object_del(elm_object_content_get(inst->ctxpopup));
550 inst->ctxpopup = NULL;
551 }
552
549} 553}
550 554
551static void 555static void
@@ -589,6 +593,9 @@ popup_added(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
589 if (!efl_wl_surface_extract(event_info)) return; 593 if (!efl_wl_surface_extract(event_info)) return;
590 inst->extracted = eina_list_append(inst->extracted, event_info); 594 inst->extracted = eina_list_append(inst->extracted, event_info);
591 595
596 if (inst->ctxpopup)
597 evas_object_del(inst->ctxpopup);
598
592 inst->ctxpopup = elm_ctxpopup_add(inst->box); 599 inst->ctxpopup = elm_ctxpopup_add(inst->box);
593 elm_object_style_set(inst->ctxpopup, "noblock"); 600 elm_object_style_set(inst->ctxpopup, "noblock");
594 evas_object_smart_callback_add(inst->ctxpopup, "dismissed", popup_dismissed, inst); 601 evas_object_smart_callback_add(inst->ctxpopup, "dismissed", popup_dismissed, inst);