Module: Mesa Branch: main Commit: 689ce66a4332524b4eb98877de6f75d05dd05c60 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=689ce66a4332524b4eb98877de6f75d05dd05c60
Author: Alexandros Frantzis <[email protected]> Date: Thu Mar 2 10:10:42 2023 +0200 vulkan/wsi/wayland: Fix destruction of event queue with proxies still attached. Destroy the surface dmabuf feedback proxy before destroying the event queue that the proxy is attached to. This silences a warning that libwayland 1.22 emits for programs that use Vulkan/Wayland: warning: queue 0x557a4efbcf70 destroyed while proxies still attached: zwp_linux_dmabuf_feedback_v1@18 still attached Signed-off-by: Alexandros Frantzis <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21647> --- src/vulkan/wsi/wsi_common_wayland.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c index 928ec216505..86d26a8ffdb 100644 --- a/src/vulkan/wsi/wsi_common_wayland.c +++ b/src/vulkan/wsi/wsi_common_wayland.c @@ -1157,18 +1157,18 @@ wsi_wl_surface_destroy(VkIcdSurfaceBase *icd_surface, VkInstance _instance, struct wsi_wl_surface *wsi_wl_surface = wl_container_of((VkIcdSurfaceWayland *)icd_surface, wsi_wl_surface, base); - if (wsi_wl_surface->surface) - wl_proxy_wrapper_destroy(wsi_wl_surface->surface); - - if (wsi_wl_surface->display) - wsi_wl_display_destroy(wsi_wl_surface->display); - if (wsi_wl_surface->wl_dmabuf_feedback) { zwp_linux_dmabuf_feedback_v1_destroy(wsi_wl_surface->wl_dmabuf_feedback); dmabuf_feedback_fini(&wsi_wl_surface->dmabuf_feedback); dmabuf_feedback_fini(&wsi_wl_surface->pending_dmabuf_feedback); } + if (wsi_wl_surface->surface) + wl_proxy_wrapper_destroy(wsi_wl_surface->surface); + + if (wsi_wl_surface->display) + wsi_wl_display_destroy(wsi_wl_surface->display); + vk_free2(&instance->alloc, pAllocator, wsi_wl_surface); }
