diff options
Diffstat (limited to 'src/model/homeactivity.py')
-rw-r--r-- | src/model/homeactivity.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/model/homeactivity.py b/src/model/homeactivity.py index 9dc4f9c..6df4ddd 100644 --- a/src/model/homeactivity.py +++ b/src/model/homeactivity.py @@ -67,11 +67,13 @@ class HomeActivity(gobject.GObject): self._retrieve_service() + self._name_owner_changed_handler = None if not self._service: bus = dbus.SessionBus() - bus.add_signal_receiver(self._name_owner_changed_cb, - signal_name="NameOwnerChanged", - dbus_interface="org.freedesktop.DBus") + self._name_owner_changed_handler = bus.add_signal_receiver( + self._name_owner_changed_cb, + signal_name="NameOwnerChanged", + dbus_interface="org.freedesktop.DBus") def set_window(self, window): """Set the window for the activity @@ -220,6 +222,8 @@ class HomeActivity(gobject.GObject): if name == self._get_service_name(): self._retrieve_service() self.set_active(True) + self._name_owner_changed_handler.remove() + self._name_owner_changed_handler = None def set_active(self, state): """Propagate the current state to the activity object""" |