Aric Stewart : imm32: Unregister IME class on process detach.

Alexandre Julliard julliard at winehq.org
Thu Oct 11 15:25:16 CDT 2012


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

Author: Aric Stewart <aric at 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);




More information about the wine-cvs mailing list