On Tue, 10 Jun 2025 03:18:25 GMT, Anass Baya <ab...@openjdk.org> wrote:
> Yes, we can do that. I had the idea to use it so that UnlinkObjects() would > be invoked by the EDT, which would eliminate the race condition. Looks like the UnlinkObjects and _GetScreenImOn is already executed under the same lock: - WComponentPeer.dispose->AwtObject::_Dispose()->Lock on SyncCS->WM_AWT_DISPOSEPDATA->awt_Component.cpp.dispose()->UnlinkObjects() - WWindowPeer.getScreenImOn()->SyncCall()->Lock on SyncCS->AwtWindow._GetScreenImOn() I think the only thing you should do is to replace the usage of JNI_GET_PDATA by the JNI_CHECK_PEER_GOTO and add a label "ret" at the end so default value of "result" will be returned. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25619#discussion_r2137095842