diff --git a/ChangeLog b/ChangeLog index 0924c519f6..4bad7c2cc7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-10-16 Dan Williams + + * src/nm-manager.c + - (manager_set_wireless_enabled): don't allow wireless to be enabled + if it's disabled in hardware; don't touch network devices while + NM is asleep + 2007-10-16 Dan Williams * libnm-util/nm-client.c diff --git a/src/nm-manager.c b/src/nm-manager.c index 5152d63054..e553c5e7db 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -862,10 +862,18 @@ manager_set_wireless_enabled (NMManager *manager, gboolean enabled) if (priv->wireless_enabled == enabled) return; + /* Can't set wireless enabled if it's disabled in hardware */ + if (!priv->wireless_hw_enabled && enabled) + return; + priv->wireless_enabled = enabled; g_object_notify (G_OBJECT (manager), NM_MANAGER_WIRELESS_ENABLED); + /* Don't touch devices if asleep/networking disabled */ + if (priv->sleeping) + return; + /* Tear down all wireless devices */ for (iter = priv->devices; iter; iter = iter->next) { if (NM_IS_DEVICE_802_11_WIRELESS (iter->data)) {