diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2010-08-18 11:40:35 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2010-08-18 11:40:35 (GMT) |
commit | ea0d3dc189c65ab181d8180b5df972c6d1dcfb7a (patch) | |
tree | 0ba7aac2dab54876cf2b24c1366a3dd858ef0df4 | |
parent | c3f545beac96323a046ed68b0fdf6410299dfd41 (diff) |
Sudden death while clicking around on the journal #2064
-rw-r--r-- | src/jarabe/model/shell.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index 553e889..636a5b9 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -254,10 +254,17 @@ class Activity(gobject.GObject): def _name_owner_changed_cb(self, name, old, new): 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 + if old and not new: + logging.debug('Activity._name_owner_changed_cb: ' \ + 'activity %s went away', name) + self._name_owner_changed_handler.remove() + self._name_owner_changed_handler = None + self._service = None + elif not old and new: + logging.debug('Activity._name_owner_changed_cb: ' \ + 'activity %s started up', name) + self._retrieve_service() + self.set_active(True) def set_active(self, state): """Propagate the current state to the activity object""" |