On Thu, 2007-04-12 at 16:44 +0200, Mark Wielaard wrote: > It is correct as far as I can see. So please do commit. > Do you actually have so little LocalRefs that you notice this in cacao?
This patch is more than a year old, the local references table support back than was... not existent :-) > > Could you please write a changelog entry and fix this little nitpick? Commited as follows. - twisti --- 2007-04-12 Christian Thalinger <[EMAIL PROTECTED]> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c (clipboard_get_func): Call DeleteLocalRef. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c (clipboard_targets_received): Likewise. (clipboard_uris_received): Likewise. 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 12 Apr 2007 15:05:11 -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); @@ -273,9 +274,13 @@ clipboard_get_func (GtkClipboard *clipbo break; text = (*env)->GetStringUTFChars (env, uri, NULL); if (text == NULL) - break; + { + (*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 12 Apr 2007 15:05:11 -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); }