and NOW fix obscure object handling properly.

SVN revision: 64252
This commit is contained in:
Carsten Haitzler 2011-10-21 10:25:35 +00:00
parent 47592b586f
commit a9cee095f1
1 changed files with 5 additions and 2 deletions

View File

@ -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,