From c336d9c4cf59ba3503f5932fa158c707214dc105 Mon Sep 17 00:00:00 2001 From: June Tate-Gans Date: Sun, 23 May 2021 11:29:14 -0500 Subject: [PATCH] applet: Rework how manager pings work This swaps to notifying the applet internally when registration is lost after a ping fails. --- g13gui/applet/applet.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/g13gui/applet/applet.py b/g13gui/applet/applet.py index ad045bd..6a192e6 100644 --- a/g13gui/applet/applet.py +++ b/g13gui/applet/applet.py @@ -57,15 +57,22 @@ class Applet(dbus.service.Object): def _ping(self): if self._manager: + result = False + try: - self._manager.Ping() + result = self._manager.Ping() except DBusException as err: print('Lost connection with AppletManager: %s' % err) self._registered = False - GLib.idle_add(self.onUnregistered) GLib.timeout_add_seconds(1, self.register) + return False + if not result: + print('Lost registration with AppletManager') + self._registered = False + GLib.idle_add(self.onUnregistered) + GLib.timeout_add_seconds(1, self.register) return False return True