aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/cinterion/mm-broadband-bearer-cinterion.c9
-rw-r--r--plugins/cinterion/mm-broadband-modem-cinterion.c6
-rw-r--r--plugins/cinterion/mm-common-cinterion.c7
3 files changed, 17 insertions, 5 deletions
diff --git a/plugins/cinterion/mm-broadband-bearer-cinterion.c b/plugins/cinterion/mm-broadband-bearer-cinterion.c
index a1c699e9..438fb599 100644
--- a/plugins/cinterion/mm-broadband-bearer-cinterion.c
+++ b/plugins/cinterion/mm-broadband-bearer-cinterion.c
@@ -85,10 +85,15 @@ load_connection_status_finish (MMBaseBearer *bearer,
GAsyncResult *res,
GError **error)
{
+ GError *inner_error = NULL;
gssize aux;
- aux = g_task_propagate_int (G_TASK (res), error);
- return (aux < 0 ? MM_BEARER_CONNECTION_STATUS_UNKNOWN : (MMBearerConnectionStatus) aux);
+ aux = g_task_propagate_int (G_TASK (res), &inner_error);
+ if (inner_error) {
+ g_propagate_error (error, inner_error);
+ return MM_BEARER_CONNECTION_STATUS_UNKNOWN;
+ }
+ return (MMBearerConnectionStatus) aux;
}
static void
diff --git a/plugins/cinterion/mm-broadband-modem-cinterion.c b/plugins/cinterion/mm-broadband-modem-cinterion.c
index c147c2f6..5f6b20f8 100644
--- a/plugins/cinterion/mm-broadband-modem-cinterion.c
+++ b/plugins/cinterion/mm-broadband-modem-cinterion.c
@@ -582,10 +582,14 @@ load_access_technologies_finish (MMIfaceModem *self,
guint *mask,
GError **error)
{
+ GError *inner_error = NULL;
gssize val;
- if ((val = g_task_propagate_int (G_TASK (res), error)) < 0)
+ val = g_task_propagate_int (G_TASK (res), &inner_error);
+ if (inner_error) {
+ g_propagate_error (error, inner_error);
return FALSE;
+ }
*access_technologies = (MMModemAccessTechnology) val;
*mask = MM_MODEM_ACCESS_TECHNOLOGY_ANY;
diff --git a/plugins/cinterion/mm-common-cinterion.c b/plugins/cinterion/mm-common-cinterion.c
index 3f2b3994..67bc5b3b 100644
--- a/plugins/cinterion/mm-common-cinterion.c
+++ b/plugins/cinterion/mm-common-cinterion.c
@@ -122,11 +122,14 @@ mm_common_cinterion_location_load_capabilities_finish (MMIfaceModemLocation *se
GAsyncResult *res,
GError **error)
{
+ GError *inner_error = NULL;
gssize aux;
- if ((aux = g_task_propagate_int (G_TASK (res), error)) < 0)
+ aux = g_task_propagate_int (G_TASK (res), &inner_error);
+ if (inner_error) {
+ g_propagate_error (error, inner_error);
return MM_MODEM_LOCATION_SOURCE_NONE;
-
+ }
return (MMModemLocationSource) aux;
}