aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-attachment-store.c
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/e-attachment-store.c')
-rw-r--r--e-util/e-attachment-store.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/e-util/e-attachment-store.c b/e-util/e-attachment-store.c
index 3720baf16b..c7128ec182 100644
--- a/e-util/e-attachment-store.c
+++ b/e-util/e-attachment-store.c
@@ -824,8 +824,10 @@ e_attachment_store_get_uris_finish (EAttachmentStore *store,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), NULL);
simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error))
+ return NULL;
+
uris = g_simple_async_result_get_op_res_gpointer (simple);
- g_simple_async_result_propagate_error (simple, error);
return uris;
}
@@ -982,8 +984,8 @@ e_attachment_store_load_finish (EAttachmentStore *store,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
simple = G_SIMPLE_ASYNC_RESULT (result);
- success = g_simple_async_result_get_op_res_gboolean (simple);
- g_simple_async_result_propagate_error (simple, error);
+ success = !g_simple_async_result_propagate_error (simple, error) &&
+ g_simple_async_result_get_op_res_gboolean (simple);
return success;
}
@@ -1332,8 +1334,10 @@ e_attachment_store_save_finish (EAttachmentStore *store,
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), NULL);
simple = G_SIMPLE_ASYNC_RESULT (result);
+ if (g_simple_async_result_propagate_error (simple, error))
+ return NULL;
+
uris = g_simple_async_result_get_op_res_gpointer (simple);
- g_simple_async_result_propagate_error (simple, error);
return uris;
}