In Dialog.conditionalShow() there's the following logic:
if (modal) {
...
modalShow();
}
...
peer.setVisible(true);
Then:
modalShow() -> blockWindows() -> peer.blockWindows() -> LWWindowPeer.setModalBlocked() -> CPlatformWindow.setModalBlocked() -> checkBlockingAndOrder() ->
CWrapper.NSWindow.orderFrontRegardless(nsWindowPtr);
CWrapper.NSWindow.makeKeyAndOrderFront(nsWindowPtr);
CWrapper.NSWindow.makeMainWindow(nsWindowPtr);
This actually shows the platform window, before peer.setVisible(true) is called.
This seems unexpected and is a potential source of issues (like 8160570).