Alfred Agrell (@Alcaro) commented about dlls/winewayland.drv/wayland_surface.c:
TRACE("surface=%p\n", surface);
+#ifdef WINEWAYLAND_USE_ATOMIC
- atomic_store(&surface->mutex, 0);
WINEWAYLAND_RESOURCE_DESTROY is defined in the header, but this operation isn't? I don't think that's right.