JDK-7154072 : [macosx] swallowing key events
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7u4
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: os_x
  • CPU: x86
  • Submitted: 2012-03-15
  • Updated: 2012-04-04
  • Resolved: 2012-04-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
7u4 b18Fixed 8Fixed
Related Reports
Relates :  
Relates :  
This is a potential regression of the fix for 7142565. The method [AWTView deliverJavaKeyEventHelper] uses a pointer to the latest key event in order to compare current key event with the previous one. In case the pointers are equal current event is ignored.

However, as the pointer doesn't retain the event, there might be a situation when a new event object is allocated by the same address as the previous one. In such case the events would be erroneously considered equal.

EVALUATION Eventually reproduced. Press SHIFT+META+M in a text field, then release and press "M" (hold other keys) for several times. Not all "M" key_pressed are dispatched.

SUGGESTED FIX http://cr.openjdk.java.net/~ant/7154072/

EVALUATION We have to retain the object to avoid the address collision.