Skip to content

Synchronise client driven resizing

David Edmundson requested to merge work/d_ed/layer_shell_sync_geom into master

Qt's resizing is inherently synchronous. When an application calls QWindow::setGeometry with a new size, we expect it to make that resize. An expose event of the requested size will be generated.

Wayland is by default async, a client requests a size, and then will be configured to that size, or potentially another size.

The simplest way to map the two APIs is to roundtrip when the client wants to resize. This way we can guarantee that a call to setGeometry(); update() will have the server configured size before the paint.

In practice it's still not perfect due to other issues, but at least will sort itself out within a frame.

BUG:477317

Edited by Marco Martin

Merge request reports

Loading