};
static void
+_ctxpopup_hide(Evas_Object *popup)
+{
+ evas_object_hide(popup);
+ ext_mod->caller = NULL;
+}
+
+static void
_ctxpopup_position(Evas_Object *obj)
{
if(!ext_mod) return;
if(!ext_mod) return;
ext_mod->selectall(data,obj,event_info);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
}
static void
if(!ext_mod) return;
ext_mod->select(data,obj,event_info);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
}
static void
if(!ext_mod) return;
ext_mod->paste(data,obj,event_info);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
}
static void
if(!ext_mod) return;
ext_mod->cut(data,obj,event_info);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
elm_object_scroll_freeze_pop(ext_mod->popup);
}
if(!ext_mod) return;
ext_mod->copy(data,obj,event_info);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
elm_object_scroll_freeze_pop(ext_mod->popup);
}
if(!ext_mod) return;
ext_mod->cancel(data,obj,event_info);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
elm_object_scroll_freeze_pop(ext_mod->popup);
}
elm_cbhm_send_raw_data("show0");
else
elm_cbhm_send_raw_data("show1");
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
// end for cbhm
}
Evas_Object *obj2 = it->obj;
if (it->func) it->func(it->data, obj2, NULL);
- evas_object_hide(obj);
+ _ctxpopup_hide(obj);
}
static void
elm_object_scroll_freeze_push(ext_mod->popup);
_ctxpopup_position(obj);
evas_object_show(ext_mod->popup);
+ ext_mod->caller = obj;
}
+ else
+ ext_mod->caller = NULL;
}
}
EAPI void
obj_hidemenu(Evas_Object *obj)
{
- if (!obj || !ext_mod)
+ if (!obj || !ext_mod || obj != ext_mod->caller)
return;
- evas_object_hide(ext_mod->popup);
+ _ctxpopup_hide(ext_mod->popup);
// if (ext_mod->popup) evas_object_del(ext_mod->popup);
}
-
-