Alexandre Julliard pushed to branch master at wine / wine
Commits: e0723580 by Rémi Bernon at 2025-05-26T20:25:03+02:00 winex11: Continue requesting desired window state on no-op event.
- - - - - 79b4fddf by Rémi Bernon at 2025-05-26T20:25:03+02:00 winex11: Serialize individual _NET_WM_STATE bit changes.
_NET_WM_STATE change requests are going through the window manager and the PropertyNotify events might be received with a serial that doesn't match its request.
- - - - - ff21cbc3 by Rémi Bernon at 2025-05-26T20:25:05+02:00 winex11: Track window pending config position / size independently.
- - - - - 1ae04bc7 by Rémi Bernon at 2025-05-26T20:25:05+02:00 winex11: Keep track of the last config above flag used.
Some window manager don't send any ConfigureNotify if nothing changed, we need to be careful and avoid sending unnecessary requests or we will wait for them forever as we're going to serialize the requests.
- - - - - bf0813e3 by Rémi Bernon at 2025-05-26T20:25:07+02:00 winex11: Serialize managed window config change requests.
When using a window manager, config requests are going through the WM and their ConfigureNotify might be received with a different serial from the request that triggered them.
We still want to override past and transient configs with our desired state as much as possible, and we ignore the received values if some changes were delayed, and request them instead.
- - - - - 290fd532 by Rémi Bernon at 2025-05-26T20:25:08+02:00 winex11: Serialize window config requests with some other requests.
When they will likely induce some ConfigureNotify events, we need to wait for these events to arrive before requesting our changes, as we are otherwise unable to tell which ConfigureNotify event is an old one and which one corresponds to our requests.
- - - - -
2 changed files:
- dlls/winex11.drv/window.c - dlls/winex11.drv/x11drv.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/49975baae3e461ab4da9e4e06153e2...