diff options
author | Christian Thalinger <twisti@complang.tuwien.ac.at> | 2007-04-12 15:09:31 +0000 |
---|---|---|
committer | Christian Thalinger <twisti@complang.tuwien.ac.at> | 2007-04-12 15:09:31 +0000 |
commit | 1ddd4f243089a47bb51da4b63f6b61d2751e1ffe (patch) | |
tree | bfe4a93c13d3bf7d19619da8411651babde4c001 | |
parent | 221dec5a0e640709a1099ea9a615a4a70f7c90b0 (diff) | |
download | classpath-1ddd4f243089a47bb51da4b63f6b61d2751e1ffe.tar.gz |
2007-04-12 Christian Thalinger <twisti@complang.tuwien.ac.at>gbenson-calendar-branchpoint
* 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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c | 7 | ||||
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c | 8 |
3 files changed, 22 insertions, 1 deletions
@@ -1,5 +1,13 @@ 2007-04-12 Christian Thalinger <twisti@complang.tuwien.ac.at> + * 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. + +2007-04-12 Christian Thalinger <twisti@complang.tuwien.ac.at> + * LICENSE: Added m4/ax_func_which_gethostbyname_r.m4 license. * configure.ac: Added AX_FUNC_WHICH_GETHOSTBYNAME_R check. * m4/ax_func_which_gethostbyname_r.m4: New file. diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c index 7ce1185a4..0b076f864 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c @@ -193,6 +193,7 @@ clipboard_get_func (GtkClipboard *clipboard, 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 *clipboard, 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) diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c index be03c4525..e5ba4c7b1 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c @@ -105,6 +105,8 @@ clipboard_targets_received (GtkClipboard *clipboard 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 *clipboard (*env)->DeleteLocalRef (env, string); } } + + (*env)->DeleteLocalRef(env, strings); } for (i = 0; i < targets_len; i++) @@ -341,6 +345,8 @@ clipboard_uris_received (GtkClipboard *clipboard 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 *clipboard (*env)->SetObjectArrayElement (env, strings, i, string); (*env)->DeleteLocalRef (env, string); } + + (*env)->DeleteLocalRef(env, strings); } g_strfreev (uris); } |