-
Bug
-
Resolution: Unresolved
-
P4
-
9
-
os_x
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).
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).
- relates to
-
JDK-8160570 [macosx] modal dialog can skip the activation/focus events
-
- Resolved
-