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