forked from enlightenment/efl
elementary/elm_object_item - delete the track objects when genlist/gengrid items are unrealized.
This commit is contained in:
parent
8982c267a9
commit
f426e08982
|
@ -548,6 +548,9 @@ _elm_gengrid_item_unrealize(Elm_Gen_Item *it,
|
|||
|
||||
it->realized = EINA_FALSE;
|
||||
it->want_unrealize = EINA_FALSE;
|
||||
|
||||
elm_widget_item_track_cancel(it);
|
||||
|
||||
evas_event_thaw(evas_object_evas_get(WIDGET(it)));
|
||||
evas_event_thaw_eval(evas_object_evas_get(WIDGET(it)));
|
||||
}
|
||||
|
|
|
@ -347,6 +347,9 @@ _elm_genlist_item_unrealize(Elm_Gen_Item *it,
|
|||
|
||||
it->realized = EINA_FALSE;
|
||||
it->want_unrealize = EINA_FALSE;
|
||||
|
||||
elm_widget_item_track_cancel(it);
|
||||
|
||||
evas_event_thaw(evas_object_evas_get(WIDGET(it)));
|
||||
evas_event_thaw_eval(evas_object_evas_get(WIDGET(it)));
|
||||
}
|
||||
|
|
|
@ -5266,6 +5266,19 @@ _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item,
|
|||
item->on_translate = EINA_FALSE;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
_elm_widget_item_track_cancel(Elm_Widget_Item *item)
|
||||
{
|
||||
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
|
||||
|
||||
if (!item->track_obj) return;
|
||||
|
||||
while (evas_object_ref_get(item->track_obj) > 0)
|
||||
evas_object_unref(item->track_obj);
|
||||
|
||||
evas_object_del(item->track_obj);
|
||||
}
|
||||
|
||||
EAPI Evas_Object *
|
||||
elm_widget_item_track(Elm_Widget_Item *item)
|
||||
{
|
||||
|
|
|
@ -776,6 +776,7 @@ EAPI void _elm_widget_item_domain_part_text_translatable_set(Elm_Wid
|
|||
EAPI Evas_Object *elm_widget_item_track(Elm_Widget_Item *item);
|
||||
EAPI void elm_widget_item_untrack(Elm_Widget_Item *item);
|
||||
EAPI int elm_widget_item_track_get(const Elm_Widget_Item *item);
|
||||
EAPI void _elm_widget_item_track_cancel(Elm_Widget_Item *item);
|
||||
|
||||
/**
|
||||
* Function to operate on a given widget's scrollabe children when necessary.
|
||||
|
@ -999,9 +1000,16 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
|
|||
#define elm_widget_item_del_pre_hook_set(item, func) \
|
||||
_elm_widget_item_del_pre_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Del_Pre_Cb)func)
|
||||
|
||||
/**
|
||||
* Convenience function to query track_cancel.
|
||||
* @see _elm_widget_item_del_pre_hook_set()
|
||||
*/
|
||||
#define elm_widget_item_track_cancel(item) \
|
||||
_elm_widget_item_track_cancel((Elm_Widget_Item *)item)
|
||||
|
||||
/**
|
||||
* Convenience function to query translate hook.
|
||||
* @see _elm_widget_item_translate()
|
||||
* @see _elm_widget_item_track_cancel()
|
||||
*/
|
||||
#define elm_widget_item_translate(item) \
|
||||
_elm_widget_item_translate((Elm_Widget_Item *)item)
|
||||
|
|
Loading…
Reference in New Issue