RFR: 8280994: [XWayland] Drag and Drop does not work in java -> wayland app direction [v2]
Alexander Zvegintsev
azvegint at openjdk.org
Fri Jun 2 14:11:20 UTC 2023
On Fri, 2 Jun 2023 08:42:45 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> Alexander Zvegintsev has updated the pull request incrementally with one additional commit since the last revision:
>>
>> fix toolkit if condition
>
> src/java.desktop/unix/classes/sun/awt/X11/XDragSourceContextPeer.java line 410:
>
>> 408: Toolkit toolkit = Toolkit.getDefaultToolkit();
>> 409: if (!(toolkit instanceof SunToolkit)
>> 410: || !((SunToolkit) toolkit).isRunningOnWayland()) {
>
> Although it's not related to this fix, but `SunToolkit.isRunningOnWayland` does not have javadoc/comment, maybe we can think of adding one there since we added a javadoc-style comment for this private method in non-spec class
Sure, added.
> src/java.desktop/unix/classes/sun/awt/X11/XDragSourceContextPeer.java line 448:
>
>> 446: }
>> 447:
>> 448: if (isXWaylandDndAwareWindow(window)) {
>
> https://github.com/openjdk/jdk/blob/ec4493f5273746fdbc2a9c9451c15050d04730d2/src/java.desktop/unix/classes/sun/awt/X11/XDragSourceContextPeer.java#L441-L444
>
> Is it not required to do `win != 0 && isXWaylandDndAwareWindow()` since we are returning value from here too?
Not sure what is the purpose of `win != 0 && isXWaylandDndAwareWindow()`, it'll change the behavior for the X11 session(isXWaylandDndAwareWindow is always false in this case).
`findClientWindow` is a recursive function, and the `isXWaylandDndAwareWindow` check is already performed within the call from line 442.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14266#discussion_r1214379664
PR Review Comment: https://git.openjdk.org/jdk/pull/14266#discussion_r1214412965
More information about the client-libs-dev
mailing list