Check for a valid buffer before we free it (this fixes resize issues
authorChris Michael <cp.michael@samsung.com>
Tue, 30 Apr 2013 13:34:46 +0000 (14:34 +0100)
committerChris Michael <cp.michael@samsung.com>
Tue, 30 Apr 2013 13:55:54 +0000 (14:55 +0100)
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>
src/modules/evas/engines/wayland_shm/evas_swapper.c

index cc66917..9fcba8b 100644 (file)
@@ -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 */