--- old/src/java.desktop/windows/native/libawt/windows/awt_Window.cpp 2015-10-19 13:54:52.476834500 +0300 +++ new/src/java.desktop/windows/native/libawt/windows/awt_Window.cpp 2015-10-19 13:54:51.957782600 +0300 @@ -1151,6 +1151,7 @@ void AwtWindow::InitOwner(AwtWindow *owner) { DASSERT(owner != NULL); + AwtWindow *initialOwner = owner; while (owner != NULL && owner->IsSimpleWindow()) { HWND ownerOwnerHWND = ::GetWindow(owner->GetHWnd(), GW_OWNER); @@ -1160,6 +1161,9 @@ } owner = (AwtWindow *)AwtComponent::GetComponent(ownerOwnerHWND); } + if (!owner) { + owner = initialOwner->GetOwningFrameOrDialog(); + } m_owningFrameDialog = (AwtFrame *)owner; }