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


Reply via email to