summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitalii Vorobiov <vi.vorobiov@samsung.com>2015-02-09 18:58:26 +0200
committerVitalii Vorobiov <vi.vorobiov@samsung.com>2015-02-09 18:58:26 +0200
commit1d4e8c2f1d58af2d3b730565d4d476cf87c412c3 (patch)
treeee8cd13f6c1faf13d22d2ff6cf85a15347d72d80
parent8fbee3fac069f62ce41996fc8f20030ae208ad91 (diff)
downloadefl-1d4e8c2f1d58af2d3b730565d4d476cf87c412c3.tar.gz
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
-rw-r--r--src/lib/edje/edje_edit.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index d19a19aa0f..8426114719 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);