diff options
author | Jens Georg <mail@jensge.org> | 2022-03-28 10:56:58 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2022-03-28 11:26:42 +0200 |
commit | b058d9843b15e3ab3b77b4acc4d72f3ffb332578 (patch) | |
tree | 9c4711432a35d53a7e8823565ef486d51e621e8f /src/network-light | |
parent | 40fd188752d5dc25cd44a634e78c7041446a0140 (diff) | |
download | gupnp-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.c | 13 |
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); |