On Thu, 15 May 2025 19:22:06 GMT, Jeremy Wood <d...@openjdk.org> wrote:

>> Unfortunately I'm unable to reproduce this failure. I slowed the test down; 
>> it passes on my machine before and after this PR.
>> 
>> I added a little bit of logging that might also help identify what's 
>> happening.
>> 
>> Does anyone have any more suggestions?
>
> Jeremy Wood has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - 8356061: restructuring to move things to EDT
>    
>    This was requested here:
>    https://github.com/openjdk/jdk/pull/25244#discussion_r2091656355
>    
>    mrserb asked: "Also please move creation and access_to all Swing 
> components to EDT"
>    
>    (I'm not sure this will help much? My understanding was *creation* of 
> Swing components could happen off the EDT as long as they were made 
> displayable on the EDT.)
>    
>    Now we still call jc.getLocationOnScreen off the EDT. If that posed a 
> thread-based problem it'd probably manifest as a 
> IllegalComponentStateException, which is not mentioned in 8356061.
>  - 8356061: adding 1000ms pause after window construction
>    
>    This was requested here:
>    https://github.com/openjdk/jdk/pull/25244#discussion_r2091656355
>    
>    So now we'll pause at least 1.1s before the first call to 
> `jc.getLocationOnScreen`, and at least 2.1s before the first call to 
> `robot.getPixelColor(x, y)`.
>    
>    (getLocationOnScreen has never failed with an IllegalStateException.)

I think the test can be greatly simplified if you redirect all rendering into a 
BufferedImage, in that case the use of robot can be removed.

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

PR Comment: https://git.openjdk.org/jdk/pull/25244#issuecomment-2889420453

Reply via email to