Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/hardware/nmclient.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-03-02 14:56:06 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-03-02 14:56:06 (GMT)
commitd748682ef776b3413fe99fd6f458f2647318e5ea (patch)
tree812d2e20c065000494f01d252f8c288510745061 /shell/hardware/nmclient.py
parentbaad7784063a8de0c222ace5424a82aca829105b (diff)
Handle the case where we get an Activating event
but we don't have an active device yet.
Diffstat (limited to 'shell/hardware/nmclient.py')
-rw-r--r--shell/hardware/nmclient.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/shell/hardware/nmclient.py b/shell/hardware/nmclient.py
index 491f686..a382621 100644
--- a/shell/hardware/nmclient.py
+++ b/shell/hardware/nmclient.py
@@ -286,6 +286,8 @@ class Device(gobject.GObject):
self.emit('ssid-changed')
def set_active_network(self, network):
+ if self._active_network == network:
+ return
if self._active_network:
self._active_network.disconnect(self._ssid_sid)
@@ -301,12 +303,15 @@ class Device(gobject.GObject):
def set_state(self, state):
self._state = state
- if state == DEVICE_STATE_ACTIVATING:
- obj = sys_bus.get_object(NM_SERVICE, self._op)
- dev = dbus.Interface(obj, NM_IFACE_DEVICES)
+ obj = sys_bus.get_object(NM_SERVICE, self._op)
+ dev = dbus.Interface(obj, NM_IFACE_DEVICES)
+ if self._type == DEVICE_TYPE_802_11_WIRELESS:
network = dev.getActiveNetwork()
- self.set_active_network(self._networks[network])
+ if self._networks.has_key(network):
+ self.set_active_network(self._networks[network])
+ else:
+ self.set_active_network(None)
_device_to_network_state = {
DEVICE_STATE_ACTIVATING : NETWORK_STATE_CONNECTING,