From a9cee095f185ed3d6245532601260a39ce124b40 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 21 Oct 2011 10:25:35 +0000 Subject: [PATCH] and NOW fix obscure object handling properly. SVN revision: 64252 --- legacy/evas/src/lib/canvas/evas_render.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_render.c b/legacy/evas/src/lib/canvas/evas_render.c index ab39b37ccc..037f1d66dc 100644 --- a/legacy/evas/src/lib/canvas/evas_render.c +++ b/legacy/evas/src/lib/canvas/evas_render.c @@ -152,6 +152,7 @@ _evas_render_phase1_direct(Evas *e, Eina_List *l; Evas_Object *proxy; +// printf("--------------------\n"); RD(" [--- PHASE 1 DIRECT\n"); for (i = 0; i < active_objects->count; i++) { @@ -174,6 +175,7 @@ _evas_render_phase1_direct(Evas *e, Evas_Object *obj; obj = eina_array_data_get(render_objects, i); +// printf("R: %p %s - %i %i %ix%i D:%i\n", obj, obj->type, obj->cur.geometry.x, obj->cur.geometry.y, obj->cur.geometry.w, obj->cur.geometry.h, obj->rect_del); RD(" OBJ [%p] changed %i\n", obj, obj->changed); if (obj->changed) { @@ -221,7 +223,8 @@ _evas_render_phase1_direct(Evas *e, { // obj->func->render_pre(obj); } - else if (obj->rect_del) + else if ((obj->rect_del) || + (evas_object_is_opaque(obj) && evas_object_is_visible(obj))) { RD(" rect del\n"); _evas_render_cur_clip_cache_del(e, obj); @@ -1295,7 +1298,7 @@ evas_render_updates_internal(Evas *e, _evas_render_check_pending_objects(&e->pending_objects, e); /* phase 1. add extra updates for changed objects */ -/* if (e->invalidate || e->render_objects.count <= 0)*/ + if (e->invalidate || e->render_objects.count <= 0) clean_them = _evas_render_phase1_process(e, &e->active_objects, &e->restack_objects,