graesslin created this revision. graesslin added reviewers: Plasma, KWin. Restricted Application added a project: KWin. Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY Commit https://phabricator.kde.org/R108:188491d3922180f1e1bba8fa2cd3fd2aa4a527c0 introduced a regression in ShellClient and broke the QuickTiling test - sorry about that. This change fixes the failing test. The main reason was a slight change in semantics of setGeometry. But the real problem is/was that the geometry update blocking is not supported in ShellClient. This change brings in the checks from Client to ShellClient, thus that the geometry is properly blocked and when unblocked the geometry is updated correctly or a request is sent. What makes it rather difficult is that the geometry update blocker operates on an updated geom while ShellClient::setGeometry needs to compare to the original geom to determine whether a direct update or a request is required. Thanks to supporting geometry update blocking the changeMaximize calls are adjusted to use setGeometry instead of requestingGeometry directly. Overall this is an important improvement and might also allow us to no longer require the special RequestGeometryBlocker in ShellClient. TEST PLAN Tests pass REPOSITORY R108 KWin BRANCH geometry-update-blocker-shell-client REVISION DETAIL https://phabricator.kde.org/D8956 AFFECTED FILES shell_client.cpp To: graesslin, #plasma, #kwin Cc: plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart