From d2b9c7b0f43d7fd9295d07341629ed55016d5f36 Mon Sep 17 00:00:00 2001
From: Aleksey Lim <alsroot@member.fsf.org>
Date: Mon, 28 Jun 2010 05:02:52 +0000
Subject: Listen for NameOwnerChanged DBus singall all time for activities #2064
diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py
index 553e889..69b45e2 100644
a
|
b
|
class Activity(gobject.GObject): |
254 | 254 | |
255 | 255 | def _name_owner_changed_cb(self, name, old, new): |
256 | 256 | if name == self._get_service_name(): |
257 | | self._retrieve_service() |
258 | | self.set_active(True) |
259 | | self._name_owner_changed_handler.remove() |
260 | | self._name_owner_changed_handler = None |
| 257 | if (old and len(old)) and (not new and not len(new)): |
| 258 | logging.debug('Activity %s went away', name) |
| 259 | self._name_owner_changed_handler.remove() |
| 260 | self._name_owner_changed_handler = None |
| 261 | self._service = None |
| 262 | elif (not old and not len(old)) and (new and len(new)): |
| 263 | logging.debug('Activity %s started up', name) |
| 264 | self._retrieve_service() |
| 265 | self.set_active(True) |
261 | 266 | |
262 | 267 | def set_active(self, state): |
263 | 268 | """Propagate the current state to the activity object""" |