D20397: [wayland] Queue XDG configure requests when resizing toplevel interactively
David Edmundson <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
davidedmundson created this revision. davidedmundson added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. davidedmundson requested review of this revision. REVISION SUMMARY When resizing a window particularly from the left side, we need to co-ordinate moving the window with when we get the resized buffer. The code in AbstractClient::handleMoveResize checks isWaitingForResizSync to make sure we never send more than one resize request at a time to keep that in sync. This makes sense on X and wl_shell_surface, but not on XDGShell where we can track which resize events have been handled by the client. ShellClient already keeps a stack of our pending configure requests and handles everything appropriately, we don't need to block. This results in a smoother dragging experience and avoids a potential deadlock currently seen when a client may not reply to a no-op configure request. BUG: 403376 TEST PLAN Async ack handling is covered by existing unit tests REPOSITORY R108 KWin BRANCH master REVISION DETAIL https://phabricator.kde.org/D20397 AFFECTED FILES shell_client.cpp To: davidedmundson, #kwin Cc: kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, alexeymin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart