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