Module: wine Branch: master Commit: 59c144f197f75acaa9c1247026ec2ca8cfa373e9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=59c144f197f75acaa9c1247026... Author: Aric Stewart <aric(a)codeweavers.com> Date: Thu Oct 11 07:46:45 2012 -0500 imm32: Unregister IME class on process detach. --- dlls/imm32/imm.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 206938d..edd9e71 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -110,6 +110,8 @@ static const WCHAR szImeFileW[] = {'I','m','e',' ','F','i','l','e',0}; static const WCHAR szLayoutTextW[] = {'L','a','y','o','u','t',' ','T','e','x','t',0}; static const WCHAR szImeRegFmt[] = {'S','y','s','t','e','m','\\','C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\','C','o','n','t','r','o','l','\\','K','e','y','b','o','a','r','d',' ','L','a','y','o','u','t','s','\\','%','0','8','l','x',0}; +static const WCHAR szwIME[] = {'I','M','E',0}; + static LRESULT WINAPI DefIME_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); @@ -378,7 +380,6 @@ static void IMM_RegisterMessages(void) static void IMM_RegisterIMEClass(void) { - static const WCHAR szwIME[] = {'I','M','E',0}; WNDCLASSW wndClass; ZeroMemory(&wndClass, sizeof(WNDCLASSW)); @@ -413,6 +414,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpReserved) IMM_FreeThreadData(); IMM_FreeAllImmHkl(); TlsFree(tlsIndex); + UnregisterClassW(szwIME, NULL); break; } return TRUE; @@ -1507,7 +1509,6 @@ BOOL WINAPI ImmGetConversionStatus( */ HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd) { - static const WCHAR szwIME[] = {'I','M','E',0}; if (IMM_GetThreadData()->hwndDefault == NULL) IMM_GetThreadData()->hwndDefault = CreateWindowExW( WS_EX_TOOLWINDOW, szwIME, NULL, WS_POPUP, 0, 0, 1, 1, 0, 0, 0, 0);