diff --git a/src/lib/ecore_evas/ecore_evas_ews.c b/src/lib/ecore_evas/ecore_evas_ews.c index d67fa16563..56dd640133 100644 --- a/src/lib/ecore_evas/ecore_evas_ews.c +++ b/src/lib/ecore_evas/ecore_evas_ews.c @@ -552,18 +552,12 @@ _ecore_evas_ews_transparent_set(Ecore_Evas *ee, int val) static int _ecore_evas_ews_render(Ecore_Evas *ee) { - Eina_List *updates = NULL, *l, *ll; - Ecore_Evas *ee2; + Eina_List *updates = NULL, *l; Eina_Rectangle *r; - int w, h, rend = 0; void *pixels; - - EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) - { - if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); - rend |= _ecore_evas_ews_render(ee2); - if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); - } + int w, h, rend; + + rend = ecore_evas_render_prepare(ee); evas_object_image_size_get(ee->engine.ews.image, &w, &h); if ((w != ee->w) || (h != ee->h)) @@ -575,7 +569,7 @@ _ecore_evas_ews_render(Ecore_Evas *ee) updates = evas_render_updates(ee->evas); } evas_object_image_data_set(ee->engine.ews.image, pixels); - + EINA_LIST_FOREACH(updates, l, r) evas_object_image_data_update_add(ee->engine.ews.image, r->x, r->y, r->w, r->h);