gio: Add g_async_result_legacy_propagate_error()
[platform/upstream/glib.git] / gio / gbufferedinputstream.c
index 166bd41..b8e1b11 100644 (file)
@@ -548,11 +548,12 @@ g_buffered_input_stream_fill_finish (GBufferedInputStream  *stream,
   g_return_val_if_fail (G_IS_BUFFERED_INPUT_STREAM (stream), -1);
   g_return_val_if_fail (G_IS_ASYNC_RESULT (result), -1);
 
+  if (g_async_result_legacy_propagate_error (result, error))
+    return -1;
+
   if (G_IS_SIMPLE_ASYNC_RESULT (result))
     {
       simple = G_SIMPLE_ASYNC_RESULT (result);
-      if (g_simple_async_result_propagate_error (simple, error))
-        return -1;
 
       /* Special case read of 0 bytes */
       if (g_simple_async_result_get_source_tag (simple) == g_buffered_input_stream_fill_async)
@@ -1131,6 +1132,9 @@ g_buffered_input_stream_real_fill_finish (GBufferedInputStream *stream,
   simple = G_SIMPLE_ASYNC_RESULT (result);
   g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_buffered_input_stream_real_fill_async);
 
+  if (g_simple_async_result_propagate_error (simple, error))
+    return -1;
+
   nread = g_simple_async_result_get_op_res_gssize (simple);
   return nread;
 }