git: openjdk/wakefield: jdk25-wayland: 17 new changesets

duke duke at openjdk.org
Wed Dec 3 13:12:42 UTC 2025


Changeset: 68733fb4
Branch: jdk25-wayland
Author:    Nikita Tsarev <nikita.tsarev at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-03 18:40:58 +0000
URL:       https://git.openjdk.org/wakefield/commit/68733fb49051ce9a948fe7465db1243ddcae76a3

JBR-9542 Wayland: Fix modifier mask on modifier key press/release

When pressing a modifier key such as Shift or Alt, other toolkits
include the corresponding bit in the modifier mask. Similiarly, when
releasing a modifier key, other toolkits will not include this bit if
the just released modifier key was the last key producing this bit.

When pressing such a key, Wayland compositors first send the
wl_keyboard.key event, and only then the wl_keyboard.modifiers event.
This causes the reported AWT modifier mask to be inconsistent with
XToolkit. This patch fixes this.

! src/java.desktop/unix/native/libawt_wlawt/WLKeyboard.c
! src/java.desktop/unix/native/libawt_wlawt/WLKeyboard.h
! src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c

Changeset: ac63e184
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2024-02-21 17:07:37 +0000
URL:       https://git.openjdk.org/wakefield/commit/ac63e18499de06d18d9005748d7d3b38f3b6df3a

JBR-5989 Wayland: added more tests to jdk_awt_wayland

! test/jdk/TEST.groups

Changeset: ae279266
Branch: jdk25-wayland
Author:    Nikita Gubarkov <nikita.gubarkov at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-10-20 15:13:08 +0000
URL:       https://git.openjdk.org/wakefield/commit/ae279266f1d5f3023b8cc365831d1fa469302c9a

JBR-9505 Vulkan: Remove sun.java2d.vulkan.accelsd from tests

(cherry picked from commit 3fb012e9dd7e83a0f1b69e410431ff86f636fb47)

! test/jdk/jb/java/awt/vulkan/ClipRenderTest.java
! test/jdk/jb/java/awt/vulkan/VulkanDisposeBlitDstTest.java
! test/jdk/jb/java/awt/vulkan/VulkanDisposeBlitSrcTest.java
! test/jdk/jb/java/awt/wayland/ImageTransformTest.java
! test/jdk/jb/java/awt/wayland/RobotGetOOBPixelsTest.java
! test/jdk/jb/java/awt/wayland/RobotGetPixelTest.java
! test/jdk/jb/java/awt/wayland/RobotGetPixelsTest.java
! test/jdk/jb/java/awt/wayland/VulkanBlitTest.java
! test/jdk/jb/java/awt/wayland/VulkanCompositeTest.java
! test/jdk/jb/java/awt/wayland/VulkanGCCompatibilityTest.java
! test/jdk/jb/java/awt/wayland/VulkanMaskFillTest.java

Changeset: 25420b3f
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-11 12:28:17 +0000
URL:       https://git.openjdk.org/wakefield/commit/25420b3fcd8658a7cc98a3fde8a27c1e25e24258

JBR-9598 Wayland: auto-detect Wayland session at startup

Adds -Dawt.toolkit.name=auto to prefer WLToolkit over XToolkit when
available. The default is still XToolkit.

! src/java.base/unix/native/libjli/java_md.c

Changeset: ebedd18e
Branch: jdk25-wayland
Author:    Nikita Tsarev <nikita.tsarev at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-14 12:17:42 +0000
URL:       https://git.openjdk.org/wakefield/commit/ebedd18ea23dc3f2173db5eabbb329a79a0f1e39

JBR-9591 Wayland: Fix wrong DnD action on KWin

This patch implements a workaround for a bug that exists on KWin 6.5. For
some reason, KWin sends a wl_data_source.action(0) event immediately
after wl_data_source.dnd_drop_finished(). This makes the drag source
think that the DnD operation failed, even though it succeeded.
The workaround it to ignore the wl_data_source.action() events
after a successful wl_data_source.dnd_drop_finished()

In addition to this, this patch also fixes some inconsistency with
translating between AWT and Wayland DnD operation masks. This doesn't
have any visible effect though, since the mask values happen to be the
same.

! src/java.desktop/unix/classes/sun/awt/wl/WLDragSourceContextPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLDropTargetContextPeer.java

Changeset: 50f4d4df
Branch: jdk25-wayland
Author:    Nikita Tsarev <nikita.tsarev at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-05 18:47:01 +0000
URL:       https://git.openjdk.org/wakefield/commit/50f4d4dfe02dc784c60c2457a8ac09aa19d5d9a1

JBR-9581 Wayland: Find xkbcommon at configure time

This commit changes how WLToolkit loads libxkbcommon. It will now be
linked as a normal dynamic library at build time, instead of being
loaded via dlopen. This commit also introduces dependency on
libxkbcommon headers and removes the corresponding declarations from
WLKeyboard.c.

! make/autoconf/lib-wayland.m4
! src/java.desktop/unix/native/libawt_wlawt/WLKeyboard.c

Changeset: 41058b94
Branch: jdk25-wayland
Author:    Nikita Tsarev <nikita.tsarev at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-17 11:52:55 +0000
URL:       https://git.openjdk.org/wakefield/commit/41058b94ec3d5848dfc44b8871266cbfe899fce2

JBR-9642 Wayland: Call wl_data_offer.finish()

This patch adds a call to wl_data_offer.finish() upon a successful
completion of a drag-and-drop operation, as well as more synchronized
annotations in WLDataOffer, to match the existing ones.

Calling finish() doesn't seem to be required by most compositors when
performing drag-and-drop, at least within the same window. Other
toolkits, such as Qt, only call it when dealing with cross-application
drag-and-drop. In the interest of maximal compatibility, this patch
implements calling finish() always when a drag-and-drop operation
succeeds.

! src/java.desktop/unix/classes/sun/awt/wl/WLDataOffer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLDropTargetContextPeer.java

Changeset: f391ab64
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-14 13:12:42 +0000
URL:       https://git.openjdk.org/wakefield/commit/f391ab64449a2f85076c258913750ce92dd1aec6

JBR-6187 Wayland: implement server-side decoration support

Use -Dsun.awt.wl.WindowDecorationStyle=server to activate

! make/modules/java.desktop/gensrc/GensrcWayland.gmk
! src/java.desktop/unix/classes/sun/awt/wl/FrameDecoration.java
! src/java.desktop/unix/classes/sun/awt/wl/FullFrameDecorationHelper.java
! src/java.desktop/unix/classes/sun/awt/wl/MinimalFrameDecoration.java
+ src/java.desktop/unix/classes/sun/awt/wl/ServerSideFrameDecoration.java
! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLDecoratedPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLToolkit.java
! src/java.desktop/unix/classes/sun/awt/wl/WLWindowPeer.java
! src/java.desktop/unix/native/libawt_wlawt/WLComponentPeer.c
! src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c
! src/java.desktop/unix/native/libawt_wlawt/WLToolkit.h

Changeset: b8345776
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-20 17:43:40 +0000
URL:       https://git.openjdk.org/wakefield/commit/b83457766f3ad08d84635daee7c4686e6a3c7442

JBR-9656 Wayland: toFront() does not work on KDE Plasma 6.5.2

KWin does not accept the serial number from a "keyboard enter" event in
a window activation request, while a recent input event serial is OK.
Gnome, however, requires the "keyboard enter" event serial.

! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java

Changeset: fe7e9358
Branch: jdk25-wayland
Author:    Nikita Tsarev <nikita.tsarev at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-20 11:49:50 +0000
URL:       https://git.openjdk.org/wakefield/commit/fe7e9358ce47d0afb68b93f91e0053b2ad1d8f9d

JBR-9483 Wayland: Support toplevel icons

This patch implements support for the xdg_toplevel_icon_v1 protocol.
The image choosing logic is just to pick the largest square image for
now. The image scale factor is also not set, since it's unclear if it's
needed and how it interacts with multi-monitor setups.

NOTE: this patch introduces a dependency on wayland-protocols 1.37+.

! make/modules/java.desktop/gensrc/GensrcWayland.gmk
! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLToolkit.java
! src/java.desktop/unix/classes/sun/awt/wl/WLWindowPeer.java
! src/java.desktop/unix/native/libawt_wlawt/WLComponentPeer.c
! src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c
! src/java.desktop/unix/native/libawt_wlawt/WLToolkit.h

Changeset: 60c015e0
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-24 12:43:59 +0000
URL:       https://git.openjdk.org/wakefield/commit/60c015e0f75faefea598673a219f45da6da005d3

JBR-9672 Wayland: popup focus broken in Plasma 6.5.2, with Focus Stealing prevention >= Medium

! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLInputState.java

Changeset: 649bacb1
Branch: jdk25-wayland
Author:    Nikita Provotorov <nikita.provotorov at jetbrains.com>
Committer: Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-11-28 18:42:04 +0000
URL:       https://git.openjdk.org/wakefield/commit/649bacb1991df9bed1c23e357b7781b14409459f

JBR-9719: Wayland: input methods in Speed search don't work if WLInputMethodZwpTextInputV3 logger is enabled

Resetting the text iterator of each InputMethodEvent after it gets logged.

(cherry picked from commit 3355214b435eaf9b7da202d1725eece27c2cc6f1)

! src/java.desktop/unix/classes/sun/awt/wl/im/text_input_unstable_v3/WLInputMethodZwpTextInputV3.java

Changeset: 8f0e3b28
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-12-01 15:02:40 +0000
URL:       https://git.openjdk.org/wakefield/commit/8f0e3b28297d57f303b21994eb86273863ddc655

JBR-9727 Wayland: assertion error in ShadowImpl.updateSurfaceData

! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java

Changeset: b4e5ee19
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-12-01 18:42:13 +0000
URL:       https://git.openjdk.org/wakefield/commit/b4e5ee1948cef15c587ac6d57be2acd3ea2ab721

JBR-9728 Wayland: AssertionError in WLGraphicsDevice.

! src/java.desktop/unix/classes/sun/awt/wl/WLGraphicsEnvironment.java

Changeset: 242c76c0
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-12-02 15:06:36 +0000
URL:       https://git.openjdk.org/wakefield/commit/242c76c02283d9ff376632c9579ee7bfa7212586

JBR-9733 Wayland: enable unconstrained popup positioning

Use getRootPane()
.putClientProperty("wlawt.popup_position_unconstrained", Boolean.TRUE)
to enable unconstrained popup positioning.

! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java
! src/java.desktop/unix/native/libawt_wlawt/WLComponentPeer.c
+ test/jdk/jb/javax/swing/wayland/WLPopupUnconstrained.java

Changeset: 496285f0
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-12-02 17:58:28 +0000
URL:       https://git.openjdk.org/wakefield/commit/496285f0ce2e2046a6fd268d4870b9b21b08c081

JBR-9730 Wayland: to add a secondary expression in assertions

! src/java.desktop/unix/classes/sun/awt/wl/FullFrameDecorationHelper.java
! src/java.desktop/unix/classes/sun/awt/wl/GtkFrameDecoration.java
! src/java.desktop/unix/classes/sun/awt/wl/ServerSideFrameDecoration.java
! src/java.desktop/unix/classes/sun/awt/wl/WLComponentPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLDataOffer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLDataSource.java
! src/java.desktop/unix/classes/sun/awt/wl/WLGraphicsDevice.java
! src/java.desktop/unix/classes/sun/awt/wl/WLInputState.java
! src/java.desktop/unix/classes/sun/awt/wl/WLKeyboard.java
! src/java.desktop/unix/classes/sun/awt/wl/WLMainSurface.java
! src/java.desktop/unix/classes/sun/awt/wl/WLPointerEvent.java
! src/java.desktop/unix/classes/sun/awt/wl/WLRobotPeer.java
! src/java.desktop/unix/classes/sun/awt/wl/WLSurface.java
! src/java.desktop/unix/classes/sun/awt/wl/WLToolkit.java
! src/java.desktop/unix/classes/sun/awt/wl/im/text_input_unstable_v3/ClientComponentCaretPositionTracker.java
! src/java.desktop/unix/classes/sun/awt/wl/im/text_input_unstable_v3/InputContextState.java
! src/java.desktop/unix/classes/sun/awt/wl/im/text_input_unstable_v3/JavaPreeditString.java
! src/java.desktop/unix/classes/sun/awt/wl/im/text_input_unstable_v3/WLInputMethodDescriptorZwpTextInputV3.java
! src/java.desktop/unix/classes/sun/awt/wl/im/text_input_unstable_v3/WLInputMethodZwpTextInputV3.java

Changeset: 0bf2bd41
Branch: jdk25-wayland
Author:    Maxim Kartashev <maxim.kartashev at jetbrains.com>
Date:      2025-12-03 17:10:22 +0000
URL:       https://git.openjdk.org/wakefield/commit/0bf2bd412d3323fa534be586b6f449fb77ea2e4c

Sync up with the state of JBR25

! src/java.desktop/unix/classes/sun/awt/wl/WLWindowPeer.java



More information about the wakefield-dev mailing list