don't iterate damage rects during render in wayland compositor mode

this is a no-op that spins for no reason
This commit is contained in:
Mike Blumenkrantz 2015-08-12 14:13:21 -04:00
parent f29410b084
commit 28c84f92dc
1 changed files with 17 additions and 14 deletions

View File

@ -3452,25 +3452,28 @@ e_comp_object_render(Evas_Object *obj)
if (e_pixmap_image_is_argb(cw->ec->pixmap)) if (e_pixmap_image_is_argb(cw->ec->pixmap))
{ {
pix = e_pixmap_image_data_get(cw->ec->pixmap); pix = e_pixmap_image_data_get(cw->ec->pixmap);
EINA_ITERATOR_FOREACH(it, r) if (e_comp->comp_type == E_PIXMAP_TYPE_X)
{ {
E_RECTS_CLIP_TO_RECT(r->x, r->y, r->w, r->h, 0, 0, pw, ph); EINA_ITERATOR_FOREACH(it, r)
/* get pixmap data from rect region on display server into memory */
ret = e_pixmap_image_draw(cw->ec->pixmap, r);
if (!ret)
{ {
WRN("UPDATE [%p]: %i %i %ix%i FAIL(%u)!!!!!!!!!!!!!!!!!", cw->ec, r->x, r->y, r->w, r->h, cw->failures); E_RECTS_CLIP_TO_RECT(r->x, r->y, r->w, r->h, 0, 0, pw, ph);
if (++cw->failures < FAILURE_MAX) /* get pixmap data from rect region on display server into memory */
e_comp_object_damage(obj, 0, 0, pw, ph); ret = e_pixmap_image_draw(cw->ec->pixmap, r);
else if (!ret)
{ {
DELD(cw->ec, 2); WRN("UPDATE [%p]: %i %i %ix%i FAIL(%u)!!!!!!!!!!!!!!!!!", cw->ec, r->x, r->y, r->w, r->h, cw->failures);
e_object_del(E_OBJECT(cw->ec)); if (++cw->failures < FAILURE_MAX)
return EINA_FALSE; e_comp_object_damage(obj, 0, 0, pw, ph);
else
{
DELD(cw->ec, 2);
e_object_del(E_OBJECT(cw->ec));
return EINA_FALSE;
}
break;
} }
break; RENDER_DEBUG("UPDATE [%p] %i %i %ix%i", cw->ec, r->x, r->y, r->w, r->h);
} }
RENDER_DEBUG("UPDATE [%p] %i %i %ix%i", cw->ec, r->x, r->y, r->w, r->h);
} }
/* set pixel data */ /* set pixel data */
if (e_comp->comp_type == E_PIXMAP_TYPE_WL) if (e_comp->comp_type == E_PIXMAP_TYPE_WL)