summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2013-04-30 14:34:46 +0100
committerChris Michael <cp.michael@samsung.com>2013-04-30 14:55:54 +0100
commit53f9d6ce8cfbff4ea0f3c901a2a53a3f45cb9d3a (patch)
tree519f4d91afe6f5e5c1eaff4e494a303b1a2a7d58
parent036454746b1937789a2b2fe9d80f32661f6047fa (diff)
downloadefl-53f9d6ce8cfbff4ea0f3c901a2a53a3f45cb9d3a.tar.gz
Check for a valid buffer before we free it (this fixes resize issues
when async_render). NB: If buffer is still valid, that means compositor is not finished with it yet, so don't release it. Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_swapper.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/modules/evas/engines/wayland_shm/evas_swapper.c b/src/modules/evas/engines/wayland_shm/evas_swapper.c
index cc66917488..9fcba8b8a7 100644
--- a/src/modules/evas/engines/wayland_shm/evas_swapper.c
+++ b/src/modules/evas/engines/wayland_shm/evas_swapper.c
@@ -414,7 +414,7 @@ _evas_swapper_buffer_free(Wl_Buffer *wb)
LOGFN(__FILE__, __LINE__, __FUNCTION__);
/* check for valid buffer */
- if (!wb) return;
+ if ((!wb) || (wb->valid)) return;
/* kill the wl_buffer */
if (wb->buffer) wl_buffer_destroy(wb->buffer);
@@ -479,9 +479,6 @@ _evas_swapper_buffer_put(Wl_Swapper *ws, Wl_Buffer *wb, Eina_Rectangle *rects, u
sent = wb;
}
- /* surface damage */
- /* printf("Damage Surface: %d %d %d %d\n", rect->x, rect->y, rect->w, rect->h); */
-
wl_surface_damage(ws->surface, rect->x, rect->y, rect->w, rect->h);
/* surface commit */