8019990: IM candidate window appears on the South-East corner of the display.
Reviewed-by: bagiras, serb
--- a/jdk/src/windows/native/sun/windows/awt_Component.cpp Wed Apr 02 18:34:08 2014 +0400
+++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp Thu Apr 03 11:19:10 2014 +0400
@@ -1729,9 +1729,11 @@
case WM_IME_SETCONTEXT:
// lParam is passed as pointer and it can be modified.
mr = WmImeSetContext(static_cast<BOOL>(wParam), &lParam);
+ CallProxyDefWindowProc(message, wParam, lParam, retValue, mr);
break;
case WM_IME_NOTIFY:
mr = WmImeNotify(wParam, lParam);
+ CallProxyDefWindowProc(message, wParam, lParam, retValue, mr);
break;
case WM_IME_STARTCOMPOSITION:
mr = WmImeStartComposition();
@@ -4085,7 +4087,7 @@
{
if (mr != mrConsume) {
HWND proxy = GetProxyFocusOwner();
- if (proxy != NULL) {
+ if (proxy != NULL && ::IsWindowEnabled(proxy)) {
retVal = ComCtl32Util::GetInstance().DefWindowProc(NULL, proxy, message, wParam, lParam);
mr = mrConsume;
}
--- a/jdk/src/windows/native/sun/windows/awt_Frame.cpp Wed Apr 02 18:34:08 2014 +0400
+++ b/jdk/src/windows/native/sun/windows/awt_Frame.cpp Thu Apr 03 11:19:10 2014 +0400
@@ -351,6 +351,8 @@
case WM_IME_STARTCOMPOSITION:
case WM_IME_ENDCOMPOSITION:
case WM_IME_COMPOSITION:
+ case WM_IME_SETCONTEXT:
+ case WM_IME_NOTIFY:
case WM_IME_CONTROL:
case WM_IME_COMPOSITIONFULL:
case WM_IME_SELECT:
--- a/jdk/test/java/awt/Frame/7024749/bug7024749.java Wed Apr 02 18:34:08 2014 +0400
+++ b/jdk/test/java/awt/Frame/7024749/bug7024749.java Thu Apr 03 11:19:10 2014 +0400
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 7024749
+ * @bug 7024749 8019990
* @summary JDK7 b131---a crash in: Java_sun_awt_windows_ThemeReader_isGetThemeTransitionDurationDefined+0x75
* @library ../../regtesthelpers
* @build Util