Hi! I just found this one in my local working copy. Should I commit it?
- twisti --- Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c,v retrieving revision 1.20 diff -u -3 -p -r1.20 gnu_java_awt_peer_gtk_GtkClipboard.c --- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c 29 May 2006 16:14:59 -0000 1.20 +++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c 11 Apr 2007 20:24:46 -0000 @@ -193,6 +193,7 @@ clipboard_get_func (GtkClipboard *clipbo gtk_clipboard_instance, provideContentID, target_string); + (*env)->DeleteLocalRef(env, target_string); if (bytes == NULL) return; len = (*env)->GetArrayLength(env, bytes); @@ -272,10 +273,13 @@ clipboard_get_func (GtkClipboard *clipbo if (uri == NULL) break; text = (*env)->GetStringUTFChars (env, uri, NULL); - if (text == NULL) + if (text == NULL) { + (*env)->DeleteLocalRef(env, uri); break; + } list[i] = strdup (text); (*env)->ReleaseStringUTFChars (env, uri, text); + (*env)->DeleteLocalRef(env, uri); } if (i == count) Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c,v retrieving revision 1.4 diff -u -3 -p -r1.4 gnu_java_awt_peer_gtk_GtkSelection.c --- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c 9 Mar 2006 21:29:58 -0000 1.4 +++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c 11 Apr 2007 20:24:46 -0000 @@ -105,6 +105,8 @@ clipboard_targets_received (GtkClipboard stringClass = (*env)->FindClass (env, "java/lang/String"); strings = (*env)->NewObjectArray (env, strings_len, stringClass, NULL); + (*env)->DeleteLocalRef(env, stringClass); + if (strings != NULL) { if (include_text) @@ -133,6 +135,8 @@ clipboard_targets_received (GtkClipboard (*env)->DeleteLocalRef (env, string); } } + + (*env)->DeleteLocalRef(env, strings); } for (i = 0; i < targets_len; i++) @@ -341,6 +345,8 @@ clipboard_uris_received (GtkClipboard *c len++; strings = (*env)->NewObjectArray (env, len, stringClass, NULL); + (*env)->DeleteLocalRef(env, stringClass); + if (strings != NULL) { for (i = 0; i < len; i++) @@ -351,6 +357,8 @@ clipboard_uris_received (GtkClipboard *c (*env)->SetObjectArrayElement (env, strings, i, string); (*env)->DeleteLocalRef (env, string); } + + (*env)->DeleteLocalRef(env, strings); } g_strfreev (uris); }