[glibmm] IOStream: get_input_stream(), get_output_stream(): Fix reference counting.



commit ab37e857c0b69edf9c2f2fdfde68b67799ce2a5a
Author: Murray Cumming <murrayc murrayc com>
Date:   Sat Feb 6 00:24:26 2010 +0100

    IOStream: get_input_stream(), get_output_stream(): Fix reference counting.
    
    * gio/src/iostream.hg: get_input_stream(), get_output_stream(): Use refreturn
    to avoid a crash as mentioned in bug #607554.

 ChangeLog           |    7 +++++++
 gio/src/iostream.hg |    4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 5e6b97b..0f865b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2010-02-06  Murray Cumming  <murrayc murrayc com>
 
+  IOStream: get_input_stream(), get_output_stream(): Fix reference counting.
+  
+	* gio/src/iostream.hg: get_input_stream(), get_output_stream(): Use refreturn 
+	to avoid a crash as mentioned in bug #607554.
+
+2010-02-06  Murray Cumming  <murrayc murrayc com>
+
   MemoryOutputStream: Add properties.
 
 	* gio/src/gio_signals.defs: Regenerated.
diff --git a/gio/src/iostream.hg b/gio/src/iostream.hg
index 2a7a97d..c0ba315 100644
--- a/gio/src/iostream.hg
+++ b/gio/src/iostream.hg
@@ -41,8 +41,8 @@ class IOStream : public Glib::Object
   _CLASS_GOBJECT(IOStream, GIOStream, G_IO_STREAM, Glib::Object, GObject)
 
 public:
-  _WRAP_METHOD(Glib::RefPtr<InputStream> get_input_stream(), g_io_stream_get_input_stream)
-  _WRAP_METHOD(Glib::RefPtr<OutputStream> get_output_stream(), g_io_stream_get_output_stream)
+  _WRAP_METHOD(Glib::RefPtr<InputStream> get_input_stream(), g_io_stream_get_input_stream, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<OutputStream> get_output_stream(), g_io_stream_get_output_stream, refreturn)
   _WRAP_METHOD(bool close(const Glib::RefPtr<Cancellable>& cancellable), g_io_stream_close, errthrow)
 
 #ifdef GLIBMM_EXCEPTIONS_ENABLED



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]