On Thu Jun 25 03:58:55 2026 +0000, Etaash Mathamsetty wrote:
wayland_surface_reconfigure_geometry is called right after we ack a configure. If for example, the compositor decides to place our popup in a place different from requested we will constantly spam the compositor with requests to reposition the popup for each frame. In addition the way this is currently set up would prevent it from repositioning the popup unless a new contents is commited as well. This was another one of the reasons I had made the popup code not use wayland_configure_window step. If we wanted to position the popup without having to commit new contents it would need to be done during the pWindowPosChanged user driver call. Having the configure event call NtUserSetRawWindowPos would lead to a feedback loop if it emits pWindowPosChanged with SWP_NOSIZE. I read apply_window_pos and move_window_bits commits new contents if the window moves if I understood right, so this should be fine in that regard. I just don't like that we are causing a new configure to occur each frame if the compositor is being stubborn
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11248#note_144164