Module: wine Branch: master Commit: 0e5d5b37ec73688504d7fc3edad6c0ed1969af63 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e5d5b37ec73688504d7fc3eda...
Author: Aric Stewart aric@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,