fix an infinite recursion bug and related crash in elm_box_recalculate

SVN revision: 65880
This commit is contained in:
Mike Blumenkrantz 2011-12-05 02:57:40 +00:00
parent 88a2ddbe71
commit 6353f0fcec
1 changed files with 4 additions and 1 deletions

View File

@ -20,6 +20,7 @@ struct _Widget_Data
Evas_Object *box;
Eina_Bool horizontal:1;
Eina_Bool homogeneous:1;
Eina_Bool recalc:1;
};
struct _Elm_Box_Transition
@ -674,7 +675,9 @@ elm_box_recalculate(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if ((!wd) || (wd->recalc)) return;
evas_object_smart_need_recalculate_set(wd->box, EINA_TRUE);
wd->recalc++;
evas_object_smart_calculate(wd->box);
wd->recalc--;
}