[Differential] [Request, 66 lines] D3963: Fix syncing of geometry to internal window when using ::move

graesslin (Martin Gräßlin) noreply at phabricator.kde.org
Wed Jan 4 17:00:25 UTC 2017


graesslin created this revision.
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added subscribers: kwin, plasma-devel.
Restricted Application added projects: Plasma on Wayland, KWin.

REVISION SUMMARY
  The OnScreenNotification gets moved during its placement. This update
  of the geometry did not get synced to the QWindow's geometry as it
  should.
  
  The reason for this is the rather special implementation of
  AbstractClient::move. This just modifies the geom variable and does not
  call into setGeometry at all. Instead a virtual doMove method is invoked
  to inform the platform specific client implementation about the move of
  the window. For a "normal" ShellClient that is fine - there is nothing
  to do.
  
  This change adds an implementation of doMove in ShellClient to sync the
  geometry to the internal window. This is not yet enough to fix the
  geometry of the OnScreenNotification. It gets placed with a
  GeometryUpdatesBlocker in place causing the doMove never to be called.
  Instead setGeometry is invoked again when the geometry updates get
  unblocked. So far ShellClient did not do anything in this case. This
  change ensures that at least the doSetGeometry method is performed again.

TEST PLAN
  Added test case and manual testing of OnScreenNotification

BRANCH
  move-internal-window

REVISION DETAIL
  https://phabricator.kde.org/D3963

AFFECTED FILES
  autotests/integration/internal_window.cpp
  shell_client.cpp
  shell_client.h

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: graesslin, #kwin, #plasma_on_wayland
Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, eliasp, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170104/44b8136e/attachment-0001.html>


More information about the Plasma-devel mailing list