db-move: moved seahorse from [testing] to [extra] (x86_64)
[arch-packages.git] / mesa / trunk / 0003-vulkan-wsi-wayland-Fix-destruction-of-event-queue-wi.patch
blob8481b3108980ee9a5b7df9814cee3459173acb0f
1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: Alexandros Frantzis <alexandros.frantzis@collabora.com>
3 Date: Thu, 2 Mar 2023 10:10:42 +0200
4 Subject: [PATCH] vulkan/wsi/wayland: Fix destruction of event queue with
5 proxies still attached.
7 Destroy the surface dmabuf feedback proxy before destroying the event
8 queue that the proxy is attached to.
10 This silences a warning that libwayland 1.22 emits for programs that use
11 Vulkan/Wayland:
13 warning: queue 0x557a4efbcf70 destroyed while proxies still attached:
14 zwp_linux_dmabuf_feedback_v1@18 still attached
16 Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
17 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21647>
18 ---
19 src/vulkan/wsi/wsi_common_wayland.c | 12 ++++++------
20 1 file changed, 6 insertions(+), 6 deletions(-)
22 diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c
23 index 0c6560371f75..6a241bcfabe1 100644
24 --- a/src/vulkan/wsi/wsi_common_wayland.c
25 +++ b/src/vulkan/wsi/wsi_common_wayland.c
26 @@ -1156,18 +1156,18 @@ wsi_wl_surface_destroy(VkIcdSurfaceBase *icd_surface, VkInstance _instance,
27 struct wsi_wl_surface *wsi_wl_surface =
28 wl_container_of((VkIcdSurfaceWayland *)icd_surface, wsi_wl_surface, base);
30 - if (wsi_wl_surface->surface)
31 - wl_proxy_wrapper_destroy(wsi_wl_surface->surface);
33 - if (wsi_wl_surface->display)
34 - wsi_wl_display_destroy(wsi_wl_surface->display);
36 if (wsi_wl_surface->wl_dmabuf_feedback) {
37 zwp_linux_dmabuf_feedback_v1_destroy(wsi_wl_surface->wl_dmabuf_feedback);
38 dmabuf_feedback_fini(&wsi_wl_surface->dmabuf_feedback);
39 dmabuf_feedback_fini(&wsi_wl_surface->pending_dmabuf_feedback);
42 + if (wsi_wl_surface->surface)
43 + wl_proxy_wrapper_destroy(wsi_wl_surface->surface);
45 + if (wsi_wl_surface->display)
46 + wsi_wl_display_destroy(wsi_wl_surface->display);
48 vk_free2(&instance->alloc, pAllocator, wsi_wl_surface);