summaryrefslogtreecommitdiff
path: root/src/nm-dbus-nm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-dbus-nm.c')
-rw-r--r--src/nm-dbus-nm.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/nm-dbus-nm.c b/src/nm-dbus-nm.c
index 335d247b54..5854bf2df2 100644
--- a/src/nm-dbus-nm.c
+++ b/src/nm-dbus-nm.c
@@ -443,17 +443,20 @@ static DBusMessage *nm_dbus_nm_set_wireless_enabled (DBusConnection *connection,
{
gboolean enabled = FALSE;
DBusError err;
+ NMData *app_data;
g_return_val_if_fail (data && data->data && connection && message, NULL);
dbus_error_init (&err);
- if (dbus_message_get_args (message, &err, DBUS_TYPE_BOOLEAN, &enabled, DBUS_TYPE_INVALID))
+ if (!dbus_message_get_args (message, &err, DBUS_TYPE_BOOLEAN, &enabled, DBUS_TYPE_INVALID))
+ return NULL;
+
+ app_data = data->data;
+ app_data->wireless_enabled = enabled;
+
+ if (!enabled)
{
GSList *elt;
- NMData *app_data;
-
- app_data = data->data;
- app_data->wireless_enabled = enabled;
/* Physically down all wireless devices */
nm_lock_mutex (app_data->dev_list_mutex, __FUNCTION__);
@@ -467,9 +470,10 @@ static DBusMessage *nm_dbus_nm_set_wireless_enabled (DBusConnection *connection,
}
}
nm_unlock_mutex (app_data->dev_list_mutex, __FUNCTION__);
- nm_policy_schedule_state_update (app_data);
}
+ nm_policy_schedule_state_update (data->data);
+
return NULL;
}