diff options
Diffstat (limited to 'plugins/cinterion/mm-broadband-bearer-cinterion.c')
-rw-r--r-- | plugins/cinterion/mm-broadband-bearer-cinterion.c | 9 |
1 files changed, 7 insertions, 2 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 |