- When client received release_cb from server, if client surface already destroyed
released tbm_surface should be destroyed before checking its own user_data.
Change-Id: I5ed2c880182e1f64c6e2b70bdcfe9b6722b204d0
tbm_surface = (tbm_surface_h) data;
+ /* If tbm_surface_queue reset/destroy before this callback
+ * tbm_surface will be not used any more.
+ * So, it should be detroyed before getting its user_data */
+ tbm_surface_internal_unref(tbm_surface);
+
wayland_egl_buffer =
__tpl_wayland_egl_get_wayland_buffer_from_tbm_surface(tbm_surface);
if (wayland_egl_buffer) {
wayland_egl_surface = wayland_egl_buffer->wayland_egl_surface;
- tbm_surface_internal_unref(tbm_surface);
-
tbm_surface_queue_release(wayland_egl_surface->tbm_queue, tbm_surface);
}
}