summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vpn/vpn-provider.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/vpn/vpn-provider.c b/vpn/vpn-provider.c
index 0b164c04..e98573fb 100644
--- a/vpn/vpn-provider.c
+++ b/vpn/vpn-provider.c
@@ -966,14 +966,10 @@ int __vpn_provider_disconnect(struct vpn_provider *provider)
else
return -EOPNOTSUPP;
- if (err < 0) {
- if (err != -EINPROGRESS)
- return err;
-
- return -EINPROGRESS;
- }
+ if (err == -EINPROGRESS)
+ vpn_provider_set_state(provider, VPN_PROVIDER_STATE_CONNECT);
- return 0;
+ return err;
}
static void connect_cb(struct vpn_provider *provider, void *user_data,
@@ -1009,6 +1005,9 @@ int __vpn_provider_connect(struct vpn_provider *provider, DBusMessage *msg)
} else
return -EOPNOTSUPP;
+ if (err == -EINPROGRESS)
+ vpn_provider_set_state(provider, VPN_PROVIDER_STATE_CONNECT);
+
return err;
}