--- old/src/windows/native/sun/windows/awt_Window.cpp 2012-09-04 14:52:05.509915000 +0400 +++ new/src/windows/native/sun/windows/awt_Window.cpp 2012-09-04 14:52:05.151114400 +0400 @@ -136,7 +136,6 @@ // Struct for _RequestWindowFocus() method struct RequestWindowFocusStruct { jobject component; - jboolean isMouseEventCause; }; // struct for _RepositionSecurityWarning() method struct RepositionSecurityWarningStruct { @@ -1557,24 +1556,8 @@ env->DeleteLocalRef(event); } -BOOL AwtWindow::AwtSetActiveWindow(BOOL isMouseEventCause, UINT hittest) +BOOL AwtWindow::AwtSetActiveWindow(UINT hittest) { - // Fix for 6458497. - // Retreat if current foreground window is out of both our and embedder process. - // The exception is when activation is requested due to a mouse event. - if (!isMouseEventCause) { - HWND fgWindow = ::GetForegroundWindow(); - if (NULL != fgWindow) { - DWORD fgProcessID; - ::GetWindowThreadProcessId(fgWindow, &fgProcessID); - if (fgProcessID != ::GetCurrentProcessId() - && !AwtToolkit::GetInstance().IsEmbedderProcessId(fgProcessID)) - { - return FALSE; - } - } - } - HWND proxyContainerHWnd = GetProxyToplevelContainer(); HWND proxyHWnd = GetProxyFocusOwner(); @@ -2113,7 +2096,6 @@ RequestWindowFocusStruct *rfs = (RequestWindowFocusStruct *)param; jobject self = rfs->component; - jboolean isMouseEventCause = rfs->isMouseEventCause; jboolean result = JNI_FALSE; AwtWindow *window = NULL; @@ -2128,7 +2110,7 @@ window = (AwtWindow *)pData; if (::IsWindow(window->GetHWnd())) { - result = (jboolean)window->SendMessage(WM_AWT_WINDOW_SETACTIVE, (WPARAM)isMouseEventCause, 0); + result = (jboolean)window->SendMessage(WM_AWT_WINDOW_SETACTIVE, 0); } ret: env->DeleteGlobalRef(self); @@ -3625,7 +3607,7 @@ * Signature: (Z)Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_windows_WWindowPeer_requestWindowFocus - (JNIEnv *env, jobject self, jboolean isMouseEventCause) + (JNIEnv *env, jobject self) { TRY; @@ -3633,7 +3615,6 @@ RequestWindowFocusStruct *rfs = new RequestWindowFocusStruct; rfs->component = selfGlobalRef; - rfs->isMouseEventCause = isMouseEventCause; return (jboolean)AwtToolkit::GetInstance().SyncCall( (void*(*)(void*))AwtWindow::_RequestWindowFocus, rfs);