diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jarabe/desktop/meshbox.py | 3 | ||||
-rw-r--r-- | src/jarabe/model/session.py | 14 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py index 76880b8..7b8e3a7 100644 --- a/src/jarabe/desktop/meshbox.py +++ b/src/jarabe/desktop/meshbox.py @@ -664,12 +664,13 @@ class DeviceObserver(object): class NetworkManagerObserver(object): def __init__(self, box): self._box = box - self._bus = dbus.SystemBus() + self._bus = None self._devices = {} self._netmgr = None def listen(self): try: + self._bus = dbus.SystemBus() obj = self._bus.get_object(_NM_SERVICE, _NM_PATH) self._netmgr = dbus.Interface(obj, _NM_IFACE) except dbus.DBusException: diff --git a/src/jarabe/model/session.py b/src/jarabe/model/session.py index caf675d..121db28 100644 --- a/src/jarabe/model/session.py +++ b/src/jarabe/model/session.py @@ -48,16 +48,16 @@ class SessionManager(session.SessionManager): self.initiate_shutdown() def shutdown_completed(self): - bus = dbus.SystemBus() - proxy = bus.get_object('org.freedesktop.Hal', - '/org/freedesktop/Hal/devices/computer') - pm = dbus.Interface(proxy, \ - 'org.freedesktop.Hal.Device.SystemPowerManagement') - if env.is_emulator(): self._close_emulator() - else: + elif self._logout_mode != self.MODE_LOGOUT: try: + bus = dbus.SystemBus() + proxy = bus.get_object('org.freedesktop.Hal', + '/org/freedesktop/Hal/devices/computer') + pm = dbus.Interface(proxy, \ + 'org.freedesktop.Hal.Device.SystemPowerManagement') + if self._logout_mode == self.MODE_SHUTDOWN: pm.Shutdown() elif self._logout_mode == self.MODE_REBOOT: |