> 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
