fixc new recalc cb to be able to call size min recalc in cb.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 5 Jan 2012 05:21:02 +0000 (05:21 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 5 Jan 2012 05:21:02 +0000 (05:21 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@66893 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_calc.c

index b2f6da6..4526636 100644 (file)
@@ -423,17 +423,23 @@ _edje_recalc(Edje *ed)
             return;
          }
      }
-   if (ed->postponed) return;
-   evas_object_smart_changed(ed->obj);
-   ed->postponed = 1;
+// XXX: dont need this with current smart calc infra. remove me later
+//   if (ed->postponed) return;
+   if (!ed->calc_only)
+     evas_object_smart_changed(ed->obj);
+// XXX: dont need this with current smart calc infra. remove me later
+//   ed->postponed = 1;
 }
 
 void
 _edje_recalc_do(Edje *ed)
 {
    unsigned int i;
+   Eina_Bool need_calc;
 
-   ed->postponed = 0;
+// XXX: dont need this with current smart calc infra. remove me later
+//   ed->postponed = 0;
+   need_calc = evas_object_smart_need_recalculate_get(ed->obj);
    evas_object_smart_need_recalculate_set(ed->obj, 0);
    if (!ed->dirty) return;
    ed->have_mapped_part = 0;
@@ -462,6 +468,8 @@ _edje_recalc_do(Edje *ed)
 #endif
    if (!ed->calc_only)
      evas_object_smart_callback_call(ed->obj, "recalc", NULL);
+   else
+     evas_object_smart_need_recalculate_set(ed->obj, need_calc);
 }
 
 void