fix realize callback

SVN revision: 42478
This commit is contained in:
Carsten Haitzler 2009-09-14 01:17:16 +00:00
parent d2be9c7e2d
commit 00a77eb122
1 changed files with 12 additions and 8 deletions

View File

@ -856,9 +856,10 @@ _item_block_recalc(Item_Block *itb, int in)
} }
else else
{ {
if (!it->realized) Eina_Bool was_realized = it->realized;
evas_object_smart_callback_call(it->wd->obj, "realized", it);
_item_realize(it, in, 0); _item_realize(it, in, 0);
if (!was_realized)
evas_object_smart_callback_call(it->wd->obj, "realized", it);
} }
minh += it->minh; minh += it->minh;
if (minw < it->minw) minw = it->minw; if (minw < it->minw) minw = it->minw;
@ -886,9 +887,10 @@ _item_block_realize(Item_Block *itb, int in, int full)
if (it->delete_me) continue; if (it->delete_me) continue;
if (full) if (full)
{ {
if (!it->realized) Eina_Bool was_realized = it->realized;
evas_object_smart_callback_call(it->wd->obj, "realized", it);
_item_realize(it, in, 0); _item_realize(it, in, 0);
if (!was_realized)
evas_object_smart_callback_call(it->wd->obj, "realized", it);
} }
in++; in++;
} }
@ -932,9 +934,10 @@ _item_block_position(Item_Block *itb, int in)
{ {
if (vis) if (vis)
{ {
if (!it->realized) Eina_Bool was_realized = it->realized;
evas_object_smart_callback_call(it->wd->obj, "realized", it);
_item_realize(it, in, 0); _item_realize(it, in, 0);
if (!was_realized)
evas_object_smart_callback_call(it->wd->obj, "realized", it);
} }
} }
if (it->realized) if (it->realized)
@ -2334,10 +2337,11 @@ elm_genlist_item_update(Elm_Genlist_Item *it)
} }
if (it->realized) if (it->realized)
{ {
Eina_Bool was_realized = it->realized;
_item_unrealize(it); _item_unrealize(it);
if (!it->realized) _item_realize(it, num, 0);
if (!was_realized)
evas_object_smart_callback_call(it->wd->obj, "realized", it); evas_object_smart_callback_call(it->wd->obj, "realized", it);
_item_realize(it, num, 0);
_item_block_recalc(it->block, numb); _item_block_recalc(it->block, numb);
_item_block_position(it->block, num); _item_block_position(it->block, num);
} }