guard against plasmashell being properly dead and not showing the SNI

Authored by sitter on Jul 22 2019, 8:43 PM.

Description

guard against plasmashell being properly dead and not showing the SNI

Summary:
when plasmashell is particularly dead and not even able to restart, the SNI
host may still be around when we check for it in the main.cpp as its
disappearance from dbus is tied to sockets closing and dbus' event loop
reacting to that. so there is a race potential that can cause the SNI
to not actually be visible on account of the SNI host (plasmashell)
being dead even though we expected SNI support to be available.

guard against this scenario by starting an automatic activation timer
when the notification service disappears. should it not reappear within
10 second we consider it dead and show the dialog automatically as the
user won't be seeing the SNI anymore

Possibly fixing
CCBUG: 383863

Test Plan:

  • crash something so the sni appears
  • kill plasma
  • wait 10s
  • dialog appears
  • same again
  • restart plasma before 10s have passed
  • sni appears again in plasmashell

Reviewers: Plasma

Subscribers: davidedmundson, plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D22553

Details