From 1a651f23af0ff96cacd33dc6ea51e40ce8de7235 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 1 Sep 2017 13:40:12 -0400 Subject: [PATCH] return during client pixel callback if pixmap is dirty and no updates exist this probably indicates a client update is needed in order to complete the render, so the existing data should be reused since nothing will render now --- src/bin/e_comp_object.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 22cbb279c..4d520332f 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1000,7 +1000,11 @@ _e_comp_object_pixels_get(void *data, Evas_Object *obj) /* queue another render if client is still dirty; cannot refresh here. */ if (e_pixmap_dirty_get(ec->pixmap) && e_pixmap_size_get(ec->pixmap, &pw, &ph)) - e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h); + { + e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h); + /* if updates for existing pixmap don't exist then avoid unsetting existing image */ + if ((!cw->pending_updates) || eina_tiler_empty(cw->pending_updates)) return; + } if (cw->native) {