From a76e9aa8fe6e83ee30d08a029c5906e594a16df1 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 1 Sep 2017 13:40:12 -0400 Subject: [PATCH] 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 f8c5d34fc..0d38be89f 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2608,9 +2608,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 {