winewayland.drv: Store and use the latest window config for a wayland_surface.
commit8f0d3ec13de9191cbd0d243f371775c5afc3e47a
authorAlexandros Frantzis <alexandros.frantzis@collabora.com>
Tue, 3 Oct 2023 12:20:08 +0000 (3 15:20 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 13 Oct 2023 15:50:00 +0000 (13 17:50 +0200)
treee9e68622ec782d1958e36df0c442f30df7f98ccc
parent52decb1ca6eaf20728c1a31da95bbe7251d32b1f
winewayland.drv: Store and use the latest window config for a wayland_surface.

Instead of querying the window config for a wayland_surface on demand,
query it and store it only when it is applied through SetWindowPos. In
addition to being more efficient, this prevents deadlocks by avoiding
calling NtUser functions that require the user lock, while holding
the window_surface lock.
dlls/winewayland.drv/wayland_surface.c
dlls/winewayland.drv/waylanddrv.h
dlls/winewayland.drv/window.c