diff options
Diffstat (limited to 'src/nm-dbus-nm.c')
-rw-r--r-- | src/nm-dbus-nm.c | 16 |
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; } |