SUGGESTED FIX
src/windows/native/sun/windows/awt_Component.cpp
src/share/classes/java/awt/DefaultKeyboardFocusManager.java
_______________________________________________________________________
------- awt_Component.cpp -------
*** /tmp/sccs.SgdS3V Wed Jan 16 15:29:06 2008
--- awt_Component.cpp Wed Jan 16 11:28:15 2008
***************
*** 5715,5724 ****
--- 5715,5727 ----
keyDownConsumed = (id == java_awt_event_KeyEvent_KEY_PRESSED);
env->DeleteGlobalRef(self);
env->DeleteGlobalRef(event);
delete nhes;
return;
+
+ } else if (id == java_awt_event_KeyEvent_KEY_PRESSED) {
+ keyDownConsumed = FALSE;
}
/* Consume a KEY_TYPED event if a KEY_PRESSED had been, to support
* the old model.
*/
_______________________________________________________________________
------- DefaultKeyboardFocusManager.java -------
*** /tmp/sccs.IzXoy4 Wed Jan 16 15:29:06 2008
--- DefaultKeyboardFocusManager.java Wed Jan 16 15:17:21 2008
***************
*** 1077,1086 ****
--- 1077,1089 ----
consumeTraversalKey(e);
if (contains) {
focusNextComponent(focusedComponent);
}
return;
+ } else if (e.getID() == KeyEvent.KEY_PRESSED) {
+ // Fix for 6637607: consumeNextKeyTyped should be reset.
+ consumeNextKeyTyped = false;
}
toTest = focusedComponent.getFocusTraversalKeys(
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS);
contains = toTest.contains(stroke);
*** (#1 of 1): 2008-03-26 10:20:32 MSK ###@###.###
|