Ticket #2064: 0001-Listen-for-NameOwnerChanged-DBus-singall-all-time-fo.patch

File 0001-Listen-for-NameOwnerChanged-DBus-singall-all-time-fo.patch, 1.3 KB (added by alsroot, 14 years ago)
  • src/jarabe/model/shell.py

    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): 
    254254
    255255    def _name_owner_changed_cb(self, name, old, new):
    256256        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)
    261266
    262267    def set_active(self, state):
    263268        """Propagate the current state to the activity object"""