RFR: 8342096: Popup menus that request focus are not shown on Linux with Wayland [v3]
Alexey Ivanov
aivanov at openjdk.org
Fri Jan 24 17:41:48 UTC 2025
On Wed, 22 Jan 2025 19:57:04 GMT, Harshitha Onkar <honkar at openjdk.org> wrote:
>> We wait long enough, so if it throws the `IIlegalCompnentStateException` something is not right anyway.
>>
>> But I updated it to `waitTillShown` + get location on EDT to save some test execution time where it is possible.
>
> Sounds good.
> We wait long enough, so if it throws the `IIlegalCompnentStateException` something is not right anyway.
I liked this way better.
> But I updated it to `waitTillShown` + get location on EDT to save some test execution time where it is possible.
For what it's worth, we have a utility method for this… Yet I couldn't quickly find it, I found quite a few tests which implement it themselves.
I'd prefer using *an event-based approach* rather than delaying in a loop: releasing a latch when the frame receives focus.
At the same time, [a recent discussion](https://github.com/openjdk/jdk/pull/21475#discussion_r1809317633) proved that `robot.waitForIdle()` is enough… especially if it's followed by a delay. (Hence, [I removed the focus latch](https://github.com/openjdk/jdk/pull/21475/commits/d16918a43d397fc889172265fe9b950301073401).)
One more reason why I like `waitForIdle` + `delay` better is that the code is shorter. And *you still need `robot.waitForIdle()` any way.*
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22729#discussion_r1929032424
More information about the client-libs-dev
mailing list