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