On Wed, 20 Aug 2025 05:05:20 GMT, Anass Baya <ab...@openjdk.org> wrote:

>> **Analysis:**
>> The getFocusableWindowState() method is not intended to modify the 
>> configuration; doing so can cause recursive re-entry on Linux.
>> 
>> **Proposed Fix:**
>> We are intentionally overriding getFocusableWindowState() to allow it to 
>> change the configuration, in order to verify that calling getScreenImOn() 
>> for ownerless windows does not throw any exceptions.
>> To prevent recursive re-entry, we use a flag to ensure that 
>> getFocusableWindowState() is executed only once
>
> Anass Baya has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   add space

Since the failure of the test `BogusFocusableWindowState.java` proved to be a 
product bug, you have to add `8361521` into the `@bug` tag in 
`BogusFocusableWindowState.java`

src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java line 1105:

> 1103:         }
> 1104:         promoteDefaultPosition();
> 1105:         boolean refreshChildsTransientFor = isVisible() != vis;

Move the assignment

boolean refreshChildsTransientFor = isVisible() != vis;

before the `if` statement, and use `refreshChildsTransientFor` in the condition 
to avoid evaluating the same condition twice.

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

Changes requested by aivanov (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26298#pullrequestreview-3161301508
PR Review Comment: https://git.openjdk.org/jdk/pull/26298#discussion_r2304991267

Reply via email to