D5008: [ksld] Don't unset greeter connection on destroy unconditionally
Martin Gräßlin
noreply at phabricator.kde.org
Fri Mar 10 18:04:01 UTC 2017
graesslin created this revision.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
If the greeter exits the Wayland connection gets destroyed and a new
greeter with a new Wayland connection gets created. As the destroying
of the Wayland connection is async it can happend that the destroy
signal is emitted after the new connection is created. So far our code
unconditionally reset the connection on destroy which resulted in KWin
not being able to recognize the new greeter and only presenting a black
screen. After unlock with loginctl unlock-session the session shows a
dead greater window. Which can be explained by the connection never
getting destroyed.
This change verifies that the greeter connection is actually the one
which is currently in use. If the greeter dies the new greeter is shown
properly in the Wayland session and no dead greeter is shown after
unlock.
BUG: 377152
TEST PLAN
killed kscreenlocker_greet 6 times, always properly restarted
REPOSITORY
R133 KScreenLocker
BRANCH
ksld-greeter-destroyed
REVISION DETAIL
https://phabricator.kde.org/D5008
AFFECTED FILES
ksldapp.cpp
To: graesslin, #plasma
Cc: plasma-devel, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170310/dbf2efa5/attachment.html>
More information about the Plasma-devel
mailing list