aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/e_comp_object.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-09-01 13:40:12 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-09-01 13:40:11 -0400
commita76e9aa8fe6e83ee30d08a029c5906e594a16df1 (patch)
treecef95c93e185e84a189fae34591e1175988e931b /src/bin/e_comp_object.c
parentredo wireless gadget network list popup to use a table (diff)
downloadenlightenment-a76e9aa8fe6e83ee30d08a029c5906e594a16df1.tar.gz
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
Diffstat (limited to 'src/bin/e_comp_object.c')
-rw-r--r--src/bin/e_comp_object.c15
1 files 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
{