diff --git a/legacy/edje/ChangeLog b/legacy/edje/ChangeLog index 1bd2bd2ed0..eea9b5f25f 100644 --- a/legacy/edje/ChangeLog +++ b/legacy/edje/ChangeLog @@ -659,3 +659,7 @@ * Edje: change Edje to use Eo. This change adds Eo support to Edje while keeping the old API intact. For more information, go to Eo. + +2012-10-26 Michael Bouchaud (yoz) + + * fix edje_object_scale_set with edje containing boxes and/or tables diff --git a/legacy/edje/NEWS b/legacy/edje/NEWS index 7b64be06db..85ae20bc4f 100644 --- a/legacy/edje/NEWS +++ b/legacy/edje/NEWS @@ -23,6 +23,8 @@ Improvements: * Lua 5.2 support added, still works fine with 5.1. Fixes: + * fix scale_set with edje containing boxes and/or tables + * fix scale_set with edje containing groups Edje 1.7.0 diff --git a/legacy/edje/src/lib/edje_util.c b/legacy/edje/src/lib/edje_util.c index 8bdbbac042..0c4065d56f 100644 --- a/legacy/edje/src/lib/edje_util.c +++ b/legacy/edje/src/lib/edje_util.c @@ -366,6 +366,7 @@ _scale_set(Eo *obj, void *_pd, va_list *list) Edje *ed, *ged; Evas_Object *o; Eina_List *l; + int i; ed = _pd; if (ed->scale == scale) return; @@ -374,6 +375,19 @@ _scale_set(Eo *obj, void *_pd, va_list *list) 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) + { + Edje_Real_Part *ep; + ep = ed->table_parts[i]; + if ((ep->part->type == EDJE_PART_TYPE_BOX) + || (ep->part->type == EDJE_PART_TYPE_TABLE)) + { + Eina_List *l; + Evas_Object *o; + EINA_LIST_FOREACH(ep->typedata.container->items, l, o) + edje_object_scale_set(o, scale); + } + } edje_object_calc_force(obj); }