as reported, elicity triggers an infinite loop by calling
edje_object_part_geometry_get(), which in turns calls
_edje_recalc_do() which in turns calls the elicit code that requests
edje_object_part_geometry_get() and since it's still marked as
"dirty", it enters the loop...
the real fix is just the move of ed->dirty = 0; before calling
recalcs, but I also unmarked object as need_recalculate so we can even
avoid requesting object to recalculate from evas.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@38139
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
int i;
ed->postponed = 0;
+ evas_object_smart_need_recalculate_set(ed->obj, 0);
if (!ed->dirty)
{
return;
}
+ ed->dirty = 0;
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *ep;
_edje_part_recalc(ed, ep, (~ep->calculated) & FLAG_XY);
}
if (!ed->calc_only) ed->recalc = 0;
- ed->dirty = 0;
ed->calc_only = 0;
}