diff options
author | Vitalii Vorobiov <vi.vorobiov@samsung.com> | 2015-02-09 18:58:26 +0200 |
---|---|---|
committer | Vitalii Vorobiov <vi.vorobiov@samsung.com> | 2015-02-09 18:58:26 +0200 |
commit | 1d4e8c2f1d58af2d3b730565d4d476cf87c412c3 (patch) | |
tree | ee8cd13f6c1faf13d22d2ff6cf85a15347d72d80 | |
parent | 8fbee3fac069f62ce41996fc8f20030ae208ad91 (diff) | |
download | efl-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.c | 11 |
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); |