Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/model/homeactivity.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/homeactivity.py')
-rw-r--r--src/model/homeactivity.py10
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"""