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->realized = EINA_FALSE;
|
||||||
it->want_unrealize = 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(evas_object_evas_get(WIDGET(it)));
|
||||||
evas_event_thaw_eval(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->realized = EINA_FALSE;
|
||||||
it->want_unrealize = 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(evas_object_evas_get(WIDGET(it)));
|
||||||
evas_event_thaw_eval(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;
|
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 *
|
EAPI Evas_Object *
|
||||||
elm_widget_item_track(Elm_Widget_Item *item)
|
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 Evas_Object *elm_widget_item_track(Elm_Widget_Item *item);
|
||||||
EAPI void elm_widget_item_untrack(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 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.
|
* 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) \
|
#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)
|
_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.
|
* Convenience function to query translate hook.
|
||||||
* @see _elm_widget_item_translate()
|
* @see _elm_widget_item_track_cancel()
|
||||||
*/
|
*/
|
||||||
#define elm_widget_item_translate(item) \
|
#define elm_widget_item_translate(item) \
|
||||||
_elm_widget_item_translate((Elm_Widget_Item *)item)
|
_elm_widget_item_translate((Elm_Widget_Item *)item)
|
||||||
|
|
Loading…
Reference in New Issue