From: Carsten Haitzler (Rasterman) Date: Sun, 14 Apr 2013 02:47:07 +0000 (+0900) Subject: fix calling edje api on objects that may not be edje objects... X-Git-Tag: submit/devel/efl/20131022.203902~1297 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b851e10cafa9c032b22a7460f2cd4182d314b61c;p=platform%2Fupstream%2Fefl.git fix calling edje api on objects that may not be edje objects... --- diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index 84cb007..27539da 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -361,28 +361,30 @@ _scale_set(Eo *obj, void *_pd, va_list *list) double scale = va_arg(*list, double); Eina_Bool *ret = va_arg(*list, Eina_Bool *); if (ret) *ret = EINA_TRUE; - Edje *ed, *ged; Evas_Object *o; Eina_List *l; unsigned int i; - + ed = _pd; if (ed->scale == scale) return; ed->scale = FROM_DOUBLE(scale); EINA_LIST_FOREACH(ed->groups, l, ged) - ged->scale = ed->scale; + ged->scale = ed->scale; EINA_LIST_FOREACH(ed->subobjs, l, o) - edje_object_calc_force(o); - for(i = 0; i < ed->table_parts_size; ++i) + { + const char *s = evas_object_type_get(o); + if ((s) && (!strcmp(s, "edje"))) edje_object_calc_force(o); + } + for (i = 0; i < ed->table_parts_size; i++) { Edje_Real_Part *ep; ep = ed->table_parts[i]; - if ((ep->part->type == EDJE_PART_TYPE_BOX) - || (ep->part->type == EDJE_PART_TYPE_TABLE)) + if ((ep->part->type == EDJE_PART_TYPE_BOX) || + (ep->part->type == EDJE_PART_TYPE_TABLE)) { EINA_LIST_FOREACH(ep->typedata.container->items, l, o) - edje_object_scale_set(o, scale); + edje_object_scale_set(o, scale); } } edje_object_calc_force(obj);