discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=28c84f92dc7ee7dba4e6f52aec35d2ec45d208c5

commit 28c84f92dc7ee7dba4e6f52aec35d2ec45d208c5
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Aug 12 14:13:21 2015 -0400

    don't iterate damage rects during render in wayland compositor mode
    
    this is a no-op that spins for no reason
---
 src/bin/e_comp_object.c | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index c683e48..d750c43 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3452,25 +3452,28 @@ e_comp_object_render(Evas_Object *obj)
    if (e_pixmap_image_is_argb(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);
-             /* get pixmap data from rect region on display server into memory 
*/
-             ret = e_pixmap_image_draw(cw->ec->pixmap, r);
-             if (!ret)
+             EINA_ITERATOR_FOREACH(it, r)
                {
-                  WRN("UPDATE [%p]: %i %i %ix%i FAIL(%u)!!!!!!!!!!!!!!!!!", 
cw->ec, r->x, r->y, r->w, r->h, cw->failures);
-                  if (++cw->failures < FAILURE_MAX)
-                    e_comp_object_damage(obj, 0, 0, pw, ph);
-                  else
+                  E_RECTS_CLIP_TO_RECT(r->x, r->y, r->w, r->h, 0, 0, pw, ph);
+                  /* get pixmap data from rect region on display server into 
memory */
+                  ret = e_pixmap_image_draw(cw->ec->pixmap, r);
+                  if (!ret)
                     {
-                       DELD(cw->ec, 2);
-                       e_object_del(E_OBJECT(cw->ec));
-                       return EINA_FALSE;
+                       WRN("UPDATE [%p]: %i %i %ix%i 
FAIL(%u)!!!!!!!!!!!!!!!!!", cw->ec, r->x, r->y, r->w, r->h, cw->failures);
+                       if (++cw->failures < FAILURE_MAX)
+                         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 */
         if (e_comp->comp_type == E_PIXMAP_TYPE_WL)

-- 


Reply via email to