D8956: Implement geometry update blocking in ShellClient

Martin Flöser noreply at phabricator.kde.org
Wed Nov 22 18:26:35 UTC 2017


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171122/4db90a58/attachment.html>


More information about the Plasma-devel mailing list