extra: stop leaking the event rectangle
This commit is contained in:
parent
6cda810903
commit
d36e68bdd4
|
@ -288,13 +288,23 @@ static void
|
||||||
_popup_block_click_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
_popup_block_click_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
elm_popup_dismiss(_ui.popup_toolbar);
|
elm_popup_dismiss(_ui.popup_toolbar);
|
||||||
|
//from this time on we are not interested in the reference anymore
|
||||||
|
_ui.popup_toolbar = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_popup_del_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
_dismissed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
evas_object_del(obj);
|
evas_object_del(data);
|
||||||
_ui.popup_toolbar = NULL;
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_popup_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
//delete the event rect
|
||||||
|
evas_object_del(data);
|
||||||
|
if (_ui.popup_toolbar == obj)
|
||||||
|
_ui.popup_toolbar = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -311,6 +321,7 @@ extra_ui_show_popup_toolbar(Evas_Object *content)
|
||||||
tooltip = elm_popup_add(_ui.win);
|
tooltip = elm_popup_add(_ui.win);
|
||||||
elm_popup_allow_events_set(tooltip, EINA_TRUE);
|
elm_popup_allow_events_set(tooltip, EINA_TRUE);
|
||||||
elm_popup_orient_set(tooltip, ELM_POPUP_ORIENT_TOP);
|
elm_popup_orient_set(tooltip, ELM_POPUP_ORIENT_TOP);
|
||||||
|
evas_object_smart_callback_add(tooltip, "dismissed", _dismissed, tooltip);
|
||||||
elm_object_content_set(tooltip, content);
|
elm_object_content_set(tooltip, content);
|
||||||
evas_object_show(tooltip);
|
evas_object_show(tooltip);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue