> This PR alters the way ComboBox and Spinner deliver KeyEvents to their 
> TextField editors. When a ComboBox or Spinner is the focus owner it is the 
> target of all key events. Currently the skin installs a filter to catch key 
> events and re-fire most of them at the TextEdit. The skin copies the event, 
> fires the copy at the TextField, and then consumes the original event. This 
> confuses the system menu bar logic on macOS; only the original event can 
> trigger a menu item and that event is always being consumed.
> 
> In this PR only the original key event makes its way up and down the event 
> dispatch chain. To drive the TextField the skin delivers the event copy 
> directly to the TextField's event dispatcher and only consumes the original 
> event if the TextField consumes the copy.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Martin Fox has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains five additional commits since 
the last revision:

 - Merge remote-tracking branch 'upstream/master' into combospinnernofire
 - Moved event dispatch to utility method in EventUtil.
 - Clean up based on review feedback
 - Only run tests on Mac
 - New approach to forwarding key events to ComboBox and Spinner editors

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/2166/files
  - new: https://git.openjdk.org/jfx/pull/2166/files/2cf952e3..2730c387

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=2166&range=02
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2166&range=01-02

  Stats: 814 lines in 15 files changed: 742 ins; 37 del; 35 mod
  Patch: https://git.openjdk.org/jfx/pull/2166.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2166/head:pull/2166

PR: https://git.openjdk.org/jfx/pull/2166

Reply via email to