Skip to content
  • Martin Flöser's avatar
    [ksld] Don't unset greeter connection on destroy unconditionally · 06917c12
    Martin Flöser authored
    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
    
    Reviewers: #plasma
    
    Subscribers: plasma-devel
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D5008
    06917c12