On Wed, 10 Sep 2025 03:13:53 GMT, Prasanta Sadhukhan <[email protected]> wrote:
>> test/jdk/java/awt/Focus/InactiveFocusRace.java line 109: >> >>> 107: } >>> 108: }); >>> 109: inactiveFrame.setVisible(true); >> >> The previous version used a Semaphore to wait until the frame became active >> or the button received focus, but it didn’t check the second inactive frame. >> I think what we should do is first show the "inactive" frame using the same >> Semaphore. Then, once it becomes visible, we should show another "active" >> frame. >> This will ensure that the frame we intend to click below remains >> inactive/unfocused. > > I didn't get the "previous version"..I just added a delay between the UI > creation and test start. > Earlier also, init is called to do UI creation and then start is immediately > called which sets > > inactiveFrame.setVisible(true); > activeFrame.setVisible(true); > > All the semaphore logic is still the same after that Test does - renders inactiveFrame - renders activeFrame - wait for active frame to be active - press on second button in inactive frame - wait for second button should be focus owner - Check Button2 should be the focus owner I think the current test is also doing the same even now.. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27156#discussion_r2335482274
