raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f9fe869d230e3c2caf07c004ccbf93f80129efb1
commit f9fe869d230e3c2caf07c004ccbf93f80129efb1 Author: perepelits.m <[email protected]> Date: Wed Feb 19 12:18:42 2014 +0900 Edje_Edit: Add NULL-check Summary: Add NULL-check in: edje_edit_state_add _edje_edit_real_part_add _edje_part_recalc (edje_calc.c) Reviewers: cedric, seoz, raster Reviewed By: raster CC: reutskiy.v.v, cedric Differential Revision: https://phab.enlightenment.org/D567 --- src/lib/edje/edje_calc.c | 20 +++++++++++--------- src/lib/edje/edje_edit.c | 3 ++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 1a1f0c0..00c25db 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -3177,15 +3177,17 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta return; #endif - if (ep->param1.description->rel1.id_x >= 0) - rp1[Rel1X] = ed->table_parts[ep->param1.description->rel1.id_x]; - if (ep->param1.description->rel2.id_x >= 0) - rp1[Rel2X] = ed->table_parts[ep->param1.description->rel2.id_x]; - if (ep->param1.description->rel1.id_y >= 0) - rp1[Rel1Y] = ed->table_parts[ep->param1.description->rel1.id_y]; - if (ep->param1.description->rel2.id_y >= 0) - rp1[Rel2Y] = ed->table_parts[ep->param1.description->rel2.id_y]; - + if (ep->param1.description) + { + if (ep->param1.description->rel1.id_x >= 0) + rp1[Rel1X] = ed->table_parts[ep->param1.description->rel1.id_x]; + if (ep->param1.description->rel2.id_x >= 0) + rp1[Rel2X] = ed->table_parts[ep->param1.description->rel2.id_x]; + if (ep->param1.description->rel1.id_y >= 0) + rp1[Rel1Y] = ed->table_parts[ep->param1.description->rel1.id_y]; + if (ep->param1.description->rel2.id_y >= 0) + rp1[Rel2Y] = ed->table_parts[ep->param1.description->rel2.id_y]; + } if (ep->param2) { if (ep->param2->description->rel1.id_x >= 0) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 15c3de9..57246dc 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -2193,6 +2193,7 @@ _edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type if (_edje_real_part_get(ed, name)) return EINA_FALSE; + if (ed->file) ce = eina_hash_find(ed->file->collection, ed->group); /* Alloc Edje_Part or return */ @@ -3340,7 +3341,7 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double external->external_params = eina_list_append(external->external_params, p); pi++; } - if (external->external_params) + if (external->external_params && rp->typedata.swallow) rp->param1.external_params = _edje_external_params_parse(rp->typedata.swallow->swallowed_object, external->external_params); } } --
