This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gui][PATCH] Move initialization of default keyboard focus manager
- From: Thomas Fitzsimmons <fitzsim at redhat dot com>
- To: java-patches at gcc dot gnu dot org
- Date: Fri, 08 Oct 2004 14:10:56 -0400
- Subject: [gui][PATCH] Move initialization of default keyboard focus manager
Hi,
I just committed this patch to java-gui-branch. It eliminates NPEs when
an application tries to access the keyboard focus manager without first
loading the Component class.
Tom
2004-10-08 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/Component.java (static): Don't set default keyboard
focus manager.
* java/awt/KeyboardFocusManager.java
(getCurrentKeyboardFocusManager): If current keyboard focus
manager is null set a default.
Index: java/awt/Component.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Component.java,v
retrieving revision 1.37.2.24
diff -u -r1.37.2.24 Component.java
--- java/awt/Component.java 27 Sep 2004 15:14:25 -0000 1.37.2.24
+++ java/awt/Component.java 8 Oct 2004 17:58:36 -0000
@@ -576,8 +576,6 @@
{
incrementalDraw = Boolean.getBoolean ("awt.image.incrementalDraw");
redrawRate = Long.getLong ("awt.image.redrawrate");
- // Set the default KeyboardFocusManager.
- KeyboardFocusManager.setCurrentKeyboardFocusManager (null);
}
// Public and protected API.
Index: java/awt/KeyboardFocusManager.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/KeyboardFocusManager.java,v
retrieving revision 1.2.24.6
diff -u -r1.2.24.6 KeyboardFocusManager.java
--- java/awt/KeyboardFocusManager.java 27 Sep 2004 15:14:26 -0000 1.2.24.6
+++ java/awt/KeyboardFocusManager.java 8 Oct 2004 17:58:36 -0000
@@ -262,6 +262,10 @@
public static KeyboardFocusManager getCurrentKeyboardFocusManager ()
{
ThreadGroup currentGroup = Thread.currentThread ().getThreadGroup ();
+
+ if (currentKeyboardFocusManagers.get (currentGroup) == null)
+ setCurrentKeyboardFocusManager (null);
+
return (KeyboardFocusManager) currentKeyboardFocusManagers.get (currentGroup);
}