[cp-patches] FYI: Focus fixlet

2006-07-25 Thread Francis Kung
Hey,

A tiny path (already committed) for the focus work done recently, fixing
the null pointer exceptions.

Cheers,
Francis

2006-07-25  Francis Kung  [EMAIL PROTECTED]

* java/awt/DefaultKeyboardFocusManager.java
(dispatchEvent): Add check for valid component.

Index: java/awt/DefaultKeyboardFocusManager.java
===
RCS file: /cvsroot/classpath/classpath/java/awt/DefaultKeyboardFocusManager.java,v
retrieving revision 1.19
diff -u -r1.19 DefaultKeyboardFocusManager.java
--- java/awt/DefaultKeyboardFocusManager.java	25 Jul 2006 13:21:04 -	1.19
+++ java/awt/DefaultKeyboardFocusManager.java	25 Jul 2006 22:00:36 -
@@ -167,7 +167,8 @@
 setGlobalFocusedWindow (target);
 FocusTraversalPolicy p = target.getFocusTraversalPolicy();
 Component toFocus = p.getInitialComponent(target);
-toFocus.requestFocusInWindow();
+if (toFocus != null)
+  toFocus.requestFocusInWindow();
   }
 else if (e.id != WindowEvent.WINDOW_LOST_FOCUS
   e.id != WindowEvent.WINDOW_DEACTIVATED)


[cp-patches] FYI: focus fixlet for java.awt.Component

2005-05-20 Thread Roman Kennke
Hi,
I committed the attached patch which enables lightweight components to 
receive focus through mouse clicks.

2005-05-20  Roman Kennke  [EMAIL PROTECTED]
   * java/awt/Component.java
   (dispatchEventImpl): Let MouseEvents trigger a focus change
   on lightweight components.
/Roman
Index: java/awt/Component.java
===
RCS file: /cvsroot/classpath/classpath/java/awt/Component.java,v
retrieving revision 1.56
diff -u -r1.56 Component.java
--- java/awt/Component.java 18 May 2005 15:03:53 -  1.56
+++ java/awt/Component.java 20 May 2005 14:12:06 -
@@ -1149,7 +1149,9 @@
   public Point getLocationOnScreen()
   {
 if (! isShowing())
-  throw new IllegalComponentStateException(component not showing);
+  throw new IllegalComponentStateException(component 
+   + getClass().getName()
+   +  not showing);
 // We know peer != null here.
 return peer.getLocationOnScreen();
   }
@@ -4762,6 +4764,10 @@
 .getCurrentKeyboardFocusManager()
 .dispatchEvent(e))
 return;
+  case MouseEvent.MOUSE_PRESSED:
+if (isLightweight())
+  requestFocus();
+break;
   }
   }
 processEvent (e);
___
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches