src/windows/native/sun/windows/awt_Window.cpp

Print this page

        

*** 134,144 **** jint width, height; }; // Struct for _RequestWindowFocus() method struct RequestWindowFocusStruct { jobject component; - jboolean isMouseEventCause; }; // struct for _RepositionSecurityWarning() method struct RepositionSecurityWarningStruct { jobject window; }; --- 134,143 ----
*** 1555,1582 **** SendEvent(event); env->DeleteLocalRef(event); } ! BOOL AwtWindow::AwtSetActiveWindow(BOOL isMouseEventCause, 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(); if (proxyContainerHWnd == NULL || proxyHWnd == NULL) { return FALSE; --- 1554,1565 ---- SendEvent(event); env->DeleteLocalRef(event); } ! BOOL AwtWindow::AwtSetActiveWindow(UINT hittest) { HWND proxyContainerHWnd = GetProxyToplevelContainer(); HWND proxyHWnd = GetProxyFocusOwner(); if (proxyContainerHWnd == NULL || proxyHWnd == NULL) { return FALSE;
*** 2111,2121 **** { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); RequestWindowFocusStruct *rfs = (RequestWindowFocusStruct *)param; jobject self = rfs->component; - jboolean isMouseEventCause = rfs->isMouseEventCause; jboolean result = JNI_FALSE; AwtWindow *window = NULL; PDATA pData; --- 2094,2103 ----
*** 2126,2136 **** goto ret; } window = (AwtWindow *)pData; if (::IsWindow(window->GetHWnd())) { ! result = (jboolean)window->SendMessage(WM_AWT_WINDOW_SETACTIVE, (WPARAM)isMouseEventCause, 0); } ret: env->DeleteGlobalRef(self); delete rfs; --- 2108,2118 ---- goto ret; } window = (AwtWindow *)pData; if (::IsWindow(window->GetHWnd())) { ! result = (jboolean)window->SendMessage(WM_AWT_WINDOW_SETACTIVE, 0); } ret: env->DeleteGlobalRef(self); delete rfs;
*** 3623,3641 **** * Class: sun_awt_windows_WComponentPeer * Method: requestFocus * Signature: (Z)Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_windows_WWindowPeer_requestWindowFocus ! (JNIEnv *env, jobject self, jboolean isMouseEventCause) { TRY; jobject selfGlobalRef = env->NewGlobalRef(self); RequestWindowFocusStruct *rfs = new RequestWindowFocusStruct; rfs->component = selfGlobalRef; - rfs->isMouseEventCause = isMouseEventCause; return (jboolean)AwtToolkit::GetInstance().SyncCall( (void*(*)(void*))AwtWindow::_RequestWindowFocus, rfs); // global refs and rfs are deleted in _RequestWindowFocus --- 3605,3622 ---- * Class: sun_awt_windows_WComponentPeer * Method: requestFocus * Signature: (Z)Z */ JNIEXPORT jboolean JNICALL Java_sun_awt_windows_WWindowPeer_requestWindowFocus ! (JNIEnv *env, jobject self) { TRY; jobject selfGlobalRef = env->NewGlobalRef(self); RequestWindowFocusStruct *rfs = new RequestWindowFocusStruct; rfs->component = selfGlobalRef; return (jboolean)AwtToolkit::GetInstance().SyncCall( (void*(*)(void*))AwtWindow::_RequestWindowFocus, rfs); // global refs and rfs are deleted in _RequestWindowFocus