Hey,

This patch fixes a segmentation fault caused when the button's label was
null.  

Can someone kindly comment on or approve this patch?

Thanks,
Tania

2006-10-18  Tania Bento  <[EMAIL PROTECTED]>

        *native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:
        (gtkSetLabel): Prevented a segmentation fault.
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,v
retrieving revision 1.30
diff -u -r1.30 gnu_java_awt_peer_gtk_GtkButtonPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c	25 Aug 2005 02:26:49 -0000	1.30
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c	18 Oct 2006 20:28:05 -0000
@@ -170,13 +170,19 @@
 
   ptr = NSA_GET_PTR (env, obj);
 
-  text = (*env)->GetStringUTFChars (env, jtext, NULL);
-
+  if (jtext == NULL) {
+     text = "";
+  } else {
+     text = (*env)->GetStringUTFChars (env, jtext, NULL);
+  }
+  
   button = gtk_bin_get_child (GTK_BIN (ptr));
   label = gtk_bin_get_child (GTK_BIN (button));
   gtk_label_set_text (GTK_LABEL (label), text);
-
-  (*env)->ReleaseStringUTFChars (env, jtext, text);
+ 
+  if (jtext != NULL) {
+     (*env)->ReleaseStringUTFChars (env, jtext, text);
+  }
 
   gdk_threads_leave ();
 }

Reply via email to