RFR: 8342096: Popup menus that request focus are not shown on Linux with Wayland [v2]

Alexander Zvegintsev azvegint at openjdk.org
Mon Jan 20 01:08:01 UTC 2025


> The previous [JDK-8319103](https://bugs.openjdk.org/browse/JDK-8319103) fix was not complete.
> 
> The case where a menu item with a focusable component was not a direct child of a window was missing(failing the `if (window == oppositeWindow.getParent() ) {` check), so the ungrab event was posted prematurely.
> 
> This can be fixed by adding `waylandWindowFocusListener` to all submenus in hierarchy.
> 
> The manual test updated to use this case, and also added an automated test that checks that it didn't close prematurely.

Alexander Zvegintsev 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 four additional commits since the last revision:

 - Popup may not be dismissed if there are multiple focusable components
 - NestedFocusablePopupTest review comments
 - Merge branch 'master' into 8342096_nested_popup
 - 8342096: Popup menus that request focus are not shown on Linux with Wayland

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22729/files
  - new: https://git.openjdk.org/jdk/pull/22729/files/2ee38b7d..b60a3326

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22729&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22729&range=00-01

  Stats: 64441 lines in 2591 files changed: 32039 ins; 21008 del; 11394 mod
  Patch: https://git.openjdk.org/jdk/pull/22729.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22729/head:pull/22729

PR: https://git.openjdk.org/jdk/pull/22729


More information about the client-libs-dev mailing list