wrap g_io_channel_ref in a function that returns the passed in GIOChannel,
authorManish Singh <yosh@gimp.org>
Sun, 11 Jan 2004 23:59:49 +0000 (23:59 +0000)
committerManish Singh <yosh@src.gnome.org>
Sun, 11 Jan 2004 23:59:49 +0000 (23:59 +0000)
Sun Jan 11 15:34:35 2004  Manish Singh  <yosh@gimp.org>

        * gsourceclosure.c: wrap g_io_channel_ref in a function that returns
        the passed in GIOChannel, so we aren't abusing GBoxedCopyFunc
        semantics. Fixes bug #131076.

gobject/ChangeLog
gobject/gsourceclosure.c

index addda57..a767764 100644 (file)
@@ -1,3 +1,9 @@
+Sun Jan 11 15:34:35 2004  Manish Singh  <yosh@gimp.org>
+
+       * gsourceclosure.c: wrap g_io_channel_ref in a function that returns
+       the passed in GIOChannel, so we aren't abusing GBoxedCopyFunc
+       semantics. Fixes bug #131076.
+
 Sat Jan 10 23:55:42 2004  Matthias Clasen  <maclas@gmx.de>
 
        * glib-mkenums.1: Document the lowercase_name trigraph option.
index 62c1dc7..3db1317 100644 (file)
 #include "gvalue.h"
 #include "gvaluetypes.h"
 
+/* This is needed for a proper GBoxedCopyFunc, until the g_io_channel_ref API
+ * returns it's GIOChannel itself #131076.
+ */
+static GIOChannel *
+wrap_g_io_channel_ref (GIOChannel *channel)
+{
+  g_io_channel_ref (channel);
+  return channel;
+}
+
 GType
 g_io_channel_get_type (void)
 {
@@ -31,7 +41,7 @@ g_io_channel_get_type (void)
   
   if (our_type == 0)
     our_type = g_boxed_type_register_static ("GIOChannel",
-                                            (GBoxedCopyFunc) g_io_channel_ref,
+                                            (GBoxedCopyFunc) wrap_g_io_channel_ref,
                                             (GBoxedFreeFunc) g_io_channel_unref);
 
   return our_type;