Kusanagi Kouichi : winex11.drv: Show the default IME window only when necessary.
Module: wine Branch: master Commit: e5f0cdfcf6ba1595346c4c9ed1a7cbf3de418c8e URL: http://source.winehq.org/git/wine.git/?a=commit;h=e5f0cdfcf6ba1595346c4c9ed1... Author: Kusanagi Kouichi <slash(a)ac.auone-net.jp> Date: Tue Feb 16 20:06:11 2010 +0900 winex11.drv: Show the default IME window only when necessary. --- dlls/winex11.drv/ime.c | 25 ++++++++----------------- 1 files changed, 8 insertions(+), 17 deletions(-) diff --git a/dlls/winex11.drv/ime.c b/dlls/winex11.drv/ime.c index affa435..0f99ad6 100644 --- a/dlls/winex11.drv/ime.c +++ b/dlls/winex11.drv/ime.c @@ -87,7 +87,6 @@ static UINT WM_MSIME_DOCUMENTFEED; static LRESULT WINAPI IME_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); -static void UpdateDataInDefaultIMEWindow(HIMC hHIMC, HWND hwnd, BOOL showable); static HIMC RealIMC(HIMC hIMC) { @@ -933,8 +932,6 @@ BOOL WINAPI ImeSetCompositionString(HIMC hIMC, DWORD dwIndex, LPCVOID lpComp, } } - UpdateDataInDefaultIMEWindow(hIMC, myPrivate->hwndDefault,FALSE); - GenerateIMEMessage(hIMC, WM_IME_COMPOSITION, wParam, flags); ImmUnlockIMCC(lpIMC->hPrivate); UnlockRealIMC(hIMC); @@ -1199,7 +1196,7 @@ static void PaintDefaultIMEWnd(HIMC hIMC, HWND hwnd) UnlockRealIMC(hIMC); } -static void UpdateDataInDefaultIMEWindow(HIMC hIMC, HWND hwnd, BOOL showable) +static void UpdateDefaultIMEWindow(HIMC hIMC, HWND hwnd) { LPCOMPOSITIONSTRING compstr; LPINPUTCONTEXT lpIMC; @@ -1215,14 +1212,16 @@ static void UpdateDataInDefaultIMEWindow(HIMC hIMC, HWND hwnd, BOOL showable) if (compstr == NULL || compstr->dwCompStrLen == 0) ShowWindow(hwnd,SW_HIDE); - else if (showable) + else + { ShowWindow(hwnd,SW_SHOWNOACTIVATE); - - RedrawWindow(hwnd,NULL,NULL,RDW_ERASENOW|RDW_INVALIDATE); + RedrawWindow(hwnd, NULL, NULL, RDW_ERASENOW | RDW_INVALIDATE); + } if (compstr != NULL) ImmUnlockIMCC(lpIMC->hCompStr); + lpIMC->hWnd = GetFocus(); UnlockRealIMC(hIMC); } @@ -1255,21 +1254,13 @@ static void DefaultIMEComposition(HIMC hIMC, HWND hwnd, LPARAM lParam) UnlockRealIMC(hIMC); } else - UpdateDataInDefaultIMEWindow(hIMC,hwnd,TRUE); + UpdateDefaultIMEWindow(hIMC, hwnd); } static void DefaultIMEStartComposition(HIMC hIMC, HWND hwnd ) { - LPINPUTCONTEXT lpIMC; - - lpIMC = LockRealIMC(hIMC); - if (lpIMC == NULL) - return; - TRACE("IME message WM_IME_STARTCOMPOSITION\n"); - lpIMC->hWnd = GetFocus(); - ShowWindow(hwnd,SW_SHOWNOACTIVATE); - UnlockRealIMC(hIMC); + UpdateDefaultIMEWindow(hIMC, hwnd); } static LRESULT ImeHandleNotify(HIMC hIMC, HWND hwnd, UINT msg, WPARAM wParam,
participants (1)
-
Alexandre Julliard