Cheking if start.layout is set before using it.
authorsachiel <sachiel>
Thu, 7 Oct 2010 14:45:57 +0000 (14:45 +0000)
committersachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 7 Oct 2010 14:45:57 +0000 (14:45 +0000)
When evas_object_show is called with a elm_layout object before resizing
it the layout function is called before edje calc function, so the start
layout is not yet set.

By: Otavio Pontes <otavio@profusion.mobi>

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@53144 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_box_layout.c

index 10a2020..5a30c1d 100644 (file)
@@ -99,9 +99,12 @@ _edje_box_layout(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data)
    Edje_Part_Box_Animation *anim = data;
    if (anim->progress < 0.01)
      {
-        evas_object_box_padding_set(obj, anim->start.padding.x, anim->start.padding.y);
-        evas_object_box_align_set(obj, TO_DOUBLE(anim->start.align.x), TO_DOUBLE(anim->start.align.y));
-        anim->start.layout(obj, priv, anim->start.data);
+        if (anim->start.layout)
+          {
+             evas_object_box_padding_set(obj, anim->start.padding.x, anim->start.padding.y);
+             evas_object_box_align_set(obj, TO_DOUBLE(anim->start.align.x), TO_DOUBLE(anim->start.align.y));
+             anim->start.layout(obj, priv, anim->start.data);
+          }
         return;
      }