GMemoryInputStream/GMemoryOutputStream: make these properly subclassable
authorDan Winship <danw@gnome.org>
Wed, 30 Nov 2011 09:32:42 +0000 (10:32 +0100)
committerDan Winship <danw@gnome.org>
Wed, 30 Nov 2011 09:34:19 +0000 (10:34 +0100)
The async methods were directly invoking their own implementations of
the sync methods, making it impossible for a subclass to reimplement
them.

https://bugzilla.gnome.org/show_bug.cgi?id=664635

gio/gmemoryinputstream.c
gio/gmemoryoutputstream.c

index 9107b22..47f4873 100644 (file)
@@ -347,7 +347,7 @@ g_memory_input_stream_read_async (GInputStream        *stream,
   GSimpleAsyncResult *simple;
   gssize nread;
 
-  nread = g_memory_input_stream_read (stream, buffer, count, cancellable, NULL);
+  nread = g_input_stream_read (stream, buffer, count, cancellable, NULL);
   simple = g_simple_async_result_new (G_OBJECT (stream),
                                      callback,
                                      user_data,
@@ -383,7 +383,7 @@ g_memory_input_stream_skip_async (GInputStream        *stream,
   GSimpleAsyncResult *simple;
   gssize nskipped;
 
-  nskipped = g_memory_input_stream_skip (stream, count, cancellable, NULL);
+  nskipped = g_input_stream_skip (stream, count, cancellable, NULL);
   simple = g_simple_async_result_new (G_OBJECT (stream),
                                       callback,
                                       user_data,
index b6b532d..78c1139 100644 (file)
@@ -622,11 +622,11 @@ g_memory_output_stream_write_async (GOutputStream       *stream,
   GSimpleAsyncResult *simple;
   gssize nwritten;
 
-  nwritten = g_memory_output_stream_write (stream,
-                                           buffer,
-                                           count,
-                                           cancellable,
-                                           NULL);
+  nwritten = g_output_stream_write (stream,
+                                   buffer,
+                                   count,
+                                   cancellable,
+                                   NULL);
 
   simple = g_simple_async_result_new (G_OBJECT (stream),
                                       callback,