Skip to content

x11: Handle late sync request

Vlad Zahorodnii requested to merge work/zzag/late-resize-sync-request into master

X11Client implicitly relied on the finishInteractiveMoveResize() function to call moveResize() to synchronize the move resize geometry with the server geometry. However, after removing that moveResize(), X11Client got slightly broken.

A resize sync request may arrive shortly after finishing resize. In order to properly handle it, this change makes X11Client handle late sync requests.

It also makes handling interactive resize on x11 similar to how it's done on wayland.

The main problem with not letting X11Client finish interactive resize is that the Toplevel::bufferGeometry() may end up with an outdated value and SurfacePixmapX11 will fail to create due to a mismatch between Toplevel::bufferGeometry() and the server side geometry of the frame window.

Merge request reports

Loading