diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-plugin.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mm-plugin.c b/src/mm-plugin.c index af4bc739..d2fa4a11 100644 --- a/src/mm-plugin.c +++ b/src/mm-plugin.c @@ -666,10 +666,18 @@ mm_plugin_supports_port_finish (MMPlugin *self, GAsyncResult *result, GError **error) { + GError *inner_error = NULL; + gssize value; + g_return_val_if_fail (MM_IS_PLUGIN (self), MM_PLUGIN_SUPPORTS_PORT_UNKNOWN); g_return_val_if_fail (G_IS_TASK (result), MM_PLUGIN_SUPPORTS_PORT_UNKNOWN); - return (MMPluginSupportsResult) g_task_propagate_int (G_TASK (result), error); + value = g_task_propagate_int (G_TASK (result), &inner_error); + if (inner_error) { + g_propagate_error (error, inner_error); + return MM_PLUGIN_SUPPORTS_PORT_UNKNOWN; + } + return (MMPluginSupportsResult)value; } void |