summaryrefslogtreecommitdiff
path: root/src/network-light
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2022-03-28 10:56:58 +0200
committerJens Georg <mail@jensge.org>2022-03-28 11:26:42 +0200
commitb058d9843b15e3ab3b77b4acc4d72f3ffb332578 (patch)
tree9c4711432a35d53a7e8823565ef486d51e621e8f /src/network-light
parent40fd188752d5dc25cd44a634e78c7041446a0140 (diff)
downloadgupnp-tools-b058d9843b15e3ab3b77b4acc4d72f3ffb332578.tar.gz
all: Fix inconsistency regarding action errors
The current async api is a bit weird, you need try to get results from the action to capture SOAP errors
Diffstat (limited to 'src/network-light')
-rw-r--r--src/network-light/upnp.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/network-light/upnp.c b/src/network-light/upnp.c
index 1536d6c..f02b077 100644
--- a/src/network-light/upnp.c
+++ b/src/network-light/upnp.c
@@ -440,10 +440,17 @@ on_service_proxy_action_ret (GObject *object,
gpointer user_data)
{
GError *error = NULL;
+ GUPnPServiceProxyAction *action;
- gupnp_service_proxy_call_action_finish (GUPNP_SERVICE_PROXY (object),
- result,
- &error);
+ action = gupnp_service_proxy_call_action_finish (
+ GUPNP_SERVICE_PROXY (object),
+ result,
+ &error);
+
+ if (error == NULL) {
+ // Check for SOAP transport error
+ gupnp_service_proxy_action_get_result (action, &error, NULL);
+ }
if (error != NULL) {
GUPnPServiceInfo *info = GUPNP_SERVICE_INFO (object);