evas: prevent infinite insertion of object during recalc stage.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 7 Jul 2011 15:24:16 +0000 (15:24 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 7 Jul 2011 15:24:16 +0000 (15:24 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@61123 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_object_smart.c

index e1e8cf0..9058e91 100644 (file)
@@ -578,8 +578,8 @@ evas_object_smart_calculate(Evas_Object *obj)
    if (!obj->smart.smart->smart_class->calculate)
      return;
 
-   o->need_recalculate = 0;
    obj->smart.smart->smart_class->calculate(obj);
+   o->need_recalculate = 0;
 }
 
 EAPI void
@@ -619,8 +619,8 @@ evas_call_smarts_calculate(Evas *e)
         o = obj->object_data;
         if (o->need_recalculate)
           {
-             o->need_recalculate = 0;
              obj->smart.smart->smart_class->calculate(obj);
+             o->need_recalculate = 0;
           }
      }
    in_smart_calc--;