- Bug fix
. if __cb_wl_egl_buffer_free is called then some wl_egl_buffer can be in waiting buffers for vblank.
so it must be removed it before wl_egl_buffer is freed.
Change-Id: Ia08a7ecc6dcfd8f9d63e644b7cb733740672666b
}
tpl_gmutex_unlock(&wl_egl_surface->buffers_mutex);
+ if (wl_egl_surface->vblank) {
+ tpl_gmutex_lock(&wl_egl_surface->vblank->mutex);
+ if (wl_egl_surface->vblank->waiting_buffers)
+ __tpl_list_remove_data(wl_egl_surface->vblank->waiting_buffers, (void *)wl_egl_buffer,
+ TPL_FIRST, NULL);
+ tpl_gmutex_unlock(&wl_egl_surface->vblank->mutex);
+ }
+
if (wl_egl_display) {
if (wl_egl_buffer->wl_buffer) {
wayland_tbm_client_destroy_buffer(wl_egl_display->wl_tbm_client,