When a window is closed while handling performKeyEquivalent the same NSEvent 
might be passed to the new key window causing it to being processed twice. Long 
ago a fix was put in for this case; when the GlassWindow was closed a flag was 
set to ensure that we would return YES from performKeyEquivalent. To fix 
RT-39813 the closing of the window was deferred causing the flag to be set too 
late. This PR simply sets that flag when we schedule the close event instead of 
when the OS actually closes the window.

This is a spot-fix for a larger problem, namely that we have no way of knowing 
whether a performKeyEquivalent event was consumed or not. The changes for 
fixing that are in PR #694. The changes got bundled into that PR only because 
there's a lot of files involved and the exact same code paths are touched.

System test is included (I'm surprised, it really is possible to generate 
Cmd+Enter using a Robot). This is new territory for me so I have a manual test 
I can submit as a backup.

-------------

Commit messages:
 - Re-instating fix for Cmd shortcut being handled by two windows

Changes: https://git.openjdk.java.net/jfx/pull/715/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=715&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8205915
  Stats: 173 lines in 2 files changed: 173 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jfx/pull/715.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/715/head:pull/715

PR: https://git.openjdk.java.net/jfx/pull/715

Reply via email to