From: Hyoyoung Chang <hyoyoung@gmail.com>
Subject: [E-devel] [patch] elm_genlist - bugfix at item flipped I made a small patch about item flipped. It resolves two bugs 1. flip_set and unset is called quickly, sometimes genlist can't free flipped data. it fixed to remove checking flipped status in item unrealize 2. add item unhighlight at flip_job SVN revision: 70306
This commit is contained in:
parent
55138d3bd2
commit
d80dd9cb7e
|
@ -5642,10 +5642,13 @@ elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
|
|||
void _flip_job(void *data)
|
||||
{
|
||||
Elm_Gen_Item *it = (Elm_Gen_Item *) data;
|
||||
_item_unhighlight(it);
|
||||
_item_unselect(it);
|
||||
_elm_genlist_item_unrealize(it, EINA_FALSE);
|
||||
if (it->selected) _item_unselect(it);
|
||||
it->flipped = EINA_TRUE;
|
||||
it->item->nocache = EINA_TRUE;
|
||||
if (it->wd->calc_job) ecore_job_del(it->wd->calc_job);
|
||||
it->wd->calc_job = ecore_job_add(_calc_job, it->wd);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -5661,8 +5664,6 @@ elm_genlist_item_flip_set(Elm_Object_Item *it,
|
|||
if (flip)
|
||||
{
|
||||
ecore_job_add(_flip_job, _it);
|
||||
if (_it->wd->calc_job) ecore_job_del(_it->wd->calc_job);
|
||||
_it->wd->calc_job = ecore_job_add(_calc_job, _it->wd);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -5876,13 +5877,10 @@ _elm_genlist_item_unrealize(Elm_Gen_Item *it,
|
|||
EINA_LIST_FREE(it->content_objs, content)
|
||||
evas_object_del(content);
|
||||
|
||||
if (it->flipped)
|
||||
{
|
||||
elm_widget_stringlist_free(it->item->flip_contents);
|
||||
it->item->flip_contents = NULL;
|
||||
EINA_LIST_FREE(it->item->flip_content_objs, content)
|
||||
evas_object_del(content);
|
||||
}
|
||||
elm_widget_stringlist_free(it->item->flip_contents);
|
||||
it->item->flip_contents = NULL;
|
||||
EINA_LIST_FREE(it->item->flip_content_objs, content)
|
||||
evas_object_del(content);
|
||||
|
||||
it->unrealize_cb(it);
|
||||
|
||||
|
|
Loading…
Reference in New Issue