Aric Stewart : imm: More correctly handle the presence of the default IME input window on IME open and close .

Alexandre Julliard julliard at winehq.org
Mon Feb 11 14:19:33 CST 2008


Module: wine
Branch: master
Commit: 0e5d5b37ec73688504d7fc3edad6c0ed1969af63
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0e5d5b37ec73688504d7fc3edad6c0ed1969af63

Author: Aric Stewart <aric at codeweavers.com>
Date:   Fri Feb  8 10:30:39 2008 -0600

imm: More correctly handle the presence of the default IME input window on IME open and close.

---

 dlls/imm32/imm.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index 4acbde3..c5fc71e 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -192,19 +192,17 @@ static void ImmInternalSetOpenStatus(BOOL fOpen)
 {
     TRACE("Setting internal state to %s\n",(fOpen)?"OPEN":"CLOSED");
 
-   root_context->IMC.fOpen = fOpen;
-   root_context->bInternalState = fOpen;
-
-   if (fOpen == FALSE)
-   {
+    if (root_context->IMC.fOpen && fOpen == FALSE)
+    {
         ShowWindow(hwndDefault,SW_HIDE);
         ImmDestroyIMCC(root_context->IMC.hCompStr);
         root_context->IMC.hCompStr = NULL;
     }
-    else
-        ShowWindow(hwndDefault, SW_SHOWNOACTIVATE);
 
-   ImmInternalSendIMENotify(IMN_SETOPENSTATUS, 0);
+    root_context->IMC.fOpen = fOpen;
+    root_context->bInternalState = fOpen;
+
+    ImmInternalSendIMENotify(IMN_SETOPENSTATUS, 0);
 }
 
 static int updateField(DWORD origLen, DWORD origOffset, DWORD currentOffset,




More information about the wine-cvs mailing list