wl_display_flush(wl_egl_display->wl_display);
- if (wl_egl_buffer->wl_buffer)
+ if (wl_egl_buffer->wl_buffer) {
wayland_tbm_client_destroy_buffer(wl_egl_display->wl_tbm_client,
(void *)wl_egl_buffer->wl_buffer);
+ wl_egl_buffer->wl_buffer = NULL;
+ }
+
+ if (wl_egl_buffer->buffer_release) {
+ zwp_linux_buffer_release_v1_destroy(wl_egl_buffer->buffer_release);
+ wl_egl_buffer->buffer_release = NULL;
+ }
if (wl_egl_buffer->waiting_source) {
tpl_gsource_destroy(wl_egl_buffer->waiting_source, TPL_FALSE);