Index: gnu/java/awt/peer/gtk/GtkMenuItemPeer.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,v retrieving revision 1.11 diff -u -r1.11 GtkMenuItemPeer.java --- gnu/java/awt/peer/gtk/GtkMenuItemPeer.java 22 Sep 2004 11:38:58 -0000 1.11 +++ gnu/java/awt/peer/gtk/GtkMenuItemPeer.java 22 Sep 2004 18:52:44 -0000 @@ -111,10 +111,8 @@ setEnabled (true); } - public void setEnabled (boolean b) - { - // do nothing, for now. - } + native public void setEnabled (boolean b); + native public void setLabel (String label); protected void postMenuActionEvent () Index: java/awt/DefaultKeyboardFocusManager.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/awt/DefaultKeyboardFocusManager.java,v retrieving revision 1.7 diff -u -r1.7 DefaultKeyboardFocusManager.java --- java/awt/DefaultKeyboardFocusManager.java 4 Sep 2004 17:14:00 -0000 1.7 +++ java/awt/DefaultKeyboardFocusManager.java 22 Sep 2004 18:52:44 -0000 @@ -311,7 +311,7 @@ MenuItem item = menu.getItem (j); MenuShortcut shortcut = item.getShortcut (); - if (shortcut != null) + if (item.isEnabled() && shortcut != null) { // Dispatch a new ActionEvent if: // Index: java/awt/MenuItem.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/awt/MenuItem.java,v retrieving revision 1.16 diff -u -r1.16 MenuItem.java --- java/awt/MenuItem.java 22 Sep 2004 12:13:42 -0000 1.16 +++ java/awt/MenuItem.java 22 Sep 2004 18:52:44 -0000 @@ -75,7 +75,7 @@ /** * @serial Indicates whether or not this menu item is enabled. */ -private boolean enabled; +private boolean enabled = true; /** * @serial The mask of events that are enabled for this menu item. Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,v retrieving revision 1.10 diff -u -r1.10 gnu_java_awt_peer_gtk_GtkMenuItemPeer.c --- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c 22 Sep 2004 12:13:42 -0000 1.10 +++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c 22 Sep 2004 18:52:44 -0000 @@ -124,6 +124,18 @@ (*env)->ReleaseStringUTFChars (env, name, font_name); } +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_setEnabled + (JNIEnv *env, jobject obj, jboolean enabled) +{ + void *ptr; + + ptr = NSA_GET_PTR (env, obj); + + gdk_threads_enter (); + gtk_widget_set_sensitive (GTK_WIDGET (ptr), enabled); + gdk_threads_leave (); +} + JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_setLabel (JNIEnv *env, jobject obj, jstring label) {