discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=007dbf04c68a4fadf7f179862a956b8410656597

commit 007dbf04c68a4fadf7f179862a956b8410656597
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Sep 1 13:40:12 2017 -0400

    do not reset existing client damage on resize if tiler size matches pixmap 
size
    
    this probably indicates a case where the client wasn't actually resized and 
the
    compositor is doing something like shading a window
---
 src/bin/e_comp_object.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index a9091ef52..f1aeba1cc 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2554,9 +2554,18 @@ _e_comp_smart_resize(Evas_Object *obj, int w, int h)
         /* resize render update tiler */
         if (!first)
           {
-             RENDER_DEBUG("DAMAGE UNFULL: %p", cw->ec);
-             cw->updates_full = 0;
-             if (cw->updates) eina_tiler_clear(cw->updates);
+             if (cw->updates)
+               {
+                  int tw, th;
+
+                  eina_tiler_area_size_get(cw->updates, &tw, &th);
+                  if ((tw != pw) || (th != ph))
+                    {
+                       RENDER_DEBUG("DAMAGE UNFULL: %p", cw->ec);
+                       cw->updates_full = 0;
+                       eina_tiler_clear(cw->updates);
+                    }
+               }
           }
         else
           {

-- 


Reply via email to