[Backport to 3.38] wayland/window: Don't lose precision in MetaWaylandWindowConfiguration

Merged Olivier Fourdan requested to merge ofourdan/mutter:gnome-3-38-issue1490 into gnome-3-38

Commit 8bdd2aa7 would offset the window position by the difference between the configured window size and the committed size from the client to prevent the window from drifting while resizing.

This, however, did not take into account the actual geometry scale, so when using any scale greater than 1, the window would rapidly drift away due to that offset.

In order to solve this, we need to make sure we store away the pending window configuration in the stage coordinate space, in order to not loose precision. When we then calculate the offset given the result from the client, it'll use the right scalars, while before, one scalar was in surface coordinates, while the other in stage coordinates.

#1490 (closed) (cherry picked from commit eaa6efef)

Edited by Olivier Fourdan

Merge request reports