furrymyad pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1d4e8c2f1d58af2d3b730565d4d476cf87c412c3

commit 1d4e8c2f1d58af2d3b730565d4d476cf87c412c3
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Mon Feb 9 18:58:26 2015 +0200

    Edje: edje_edit - fix Segmentation Fault on new BOX part
    
    After adding new part (with type BOX) there was a SIGSEV because
    of structure that wasn't initialized.
    
    @fix
---
 src/lib/edje/edje_edit.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index d19a19a..8426114 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -3088,11 +3088,18 @@ _edje_edit_real_part_add(Evas_Object *obj, const char 
*name, Edje_Part_Type type
         rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text));
         rp->object = evas_object_textblock_add(ed->base->evas);
      }
-   else if (ep->type == EDJE_PART_TYPE_BOX ||
-            ep->type == EDJE_PART_TYPE_TABLE)
+   else if (ep->type == EDJE_PART_TYPE_BOX)
      {
         rp->type = EDJE_RP_TYPE_CONTAINER;
         rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container));
+        rp->object = evas_object_box_add(ed->base->evas);
+        rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object);
+     }
+   else if (ep->type == EDJE_PART_TYPE_TABLE)
+     {
+        rp->type = EDJE_RP_TYPE_CONTAINER;
+        rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container));
+        rp->object = evas_object_table_add(ed->base->evas);
      }
    else if (ep->type != EDJE_PART_TYPE_SPACER)
      ERR("wrong part type %i!", ep->type);

-- 


Reply via email to