[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