Alexandros Frantzis (@afrantzis) commented about dlls/winewayland.drv/wayland_surface.c:
+ .destroy = wayland_client_surface_destroy, + .detach = wayland_client_surface_detach, + .update = wayland_client_surface_update, + .present = wayland_client_surface_present, +}; + struct wayland_client_surface *wayland_client_surface_create(HWND hwnd) { struct wayland_client_surface *client; struct wl_region *empty_region;
- if (!(client = calloc(1, sizeof(*client)))) + if (!(client = client_surface_create(sizeof(*client), &wayland_client_surface_funcs, hwnd))) return NULL; { ERR("Failed to allocate space for client surface\n"); return NULL; This block is now executed even when client_surface_create succeeds, causing all GL/Vulkan surface initialization to fail.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8522#note_109081