? my.patch
? myglib.patch
Index: src/jni/org_gnu_glib_Value.c
===================================================================
RCS file: /cvs/gnome/glib-java/src/jni/org_gnu_glib_Value.c,v
retrieving revision 1.2
diff -u -r1.2 org_gnu_glib_Value.c
--- src/jni/org_gnu_glib_Value.c	16 Sep 2006 14:17:58 -0000	1.2
+++ src/jni/org_gnu_glib_Value.c	27 Feb 2007 16:09:51 -0000
@@ -423,9 +423,11 @@
     if ( G_VALUE_HOLDS_OBJECT(value_g) )
         g_value_set_object (value_g, (gpointer)getPointerFromHandle(env, obj));
     else if ( G_VALUE_HOLDS_POINTER(value_g) )
-        g_value_set_pointer (value_g, (*env)->NewGlobalRef(env, obj));
+        // g_value_set_pointer (value_g, (*env)->NewGlobalRef(env, obj));
+        g_value_set_pointer (value_g,  obj);
     else if ( G_VALUE_HOLDS_BOXED(value_g) )
-        g_value_set_boxed (value_g, (gpointer)getPointerFromHandle(env, obj));
+        //  g_value_set_pointer (value_g, (*env)->NewGlobalRef(env, obj));
+        g_value_set_pointer (value_g,obj);
     else
         g_value_set_pointer (value_g, (*env)->NewGlobalRef(env, obj));
 }
