From 4c6326e055840dc8ecb8d861a5ae2380b5d5c50c Mon Sep 17 00:00:00 2001 From: davemds Date: Sun, 19 Jan 2014 14:50:32 +0100 Subject: [PATCH] PackageKit: fix popup autoclose --- src/modules/packagekit/e_mod_packagekit.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/modules/packagekit/e_mod_packagekit.c b/src/modules/packagekit/e_mod_packagekit.c index d2ca2682a..eda671a21 100644 --- a/src/modules/packagekit/e_mod_packagekit.c +++ b/src/modules/packagekit/e_mod_packagekit.c @@ -132,6 +132,12 @@ _popup_del_cb(void *obj) packagekit_popup_del(e_object_data_get(obj)); } +static void +_popup_autoclose_cb(void *data, Evas_Object *obj EINA_UNUSED) +{ + packagekit_popup_del((E_PackageKit_Instance *)data); +} + void packagekit_popup_new(E_PackageKit_Instance *inst) { @@ -161,16 +167,19 @@ packagekit_popup_new(E_PackageKit_Instance *inst) packagekit_popup_update(inst); e_gadcon_popup_content_set(inst->popup, table); - e_comp_object_util_autoclose(inst->popup->comp_object, NULL, NULL, NULL); - e_gadcon_popup_show(inst->popup); + e_comp_object_util_autoclose(inst->popup->comp_object, + _popup_autoclose_cb, NULL, inst); e_object_data_set(E_OBJECT(inst->popup), inst); E_OBJECT_DEL_SET(inst->popup, _popup_del_cb); + + e_gadcon_popup_show(inst->popup); } void packagekit_popup_del(E_PackageKit_Instance *inst) { E_FREE_FUNC(inst->popup, e_object_del); + inst->popup_ilist = inst->popup_label = NULL; }