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);
}