Patrik Stridvall : imm32: Only unregister the IME class if it was registered.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jan 8 14:44:34 CST 2007


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

Author: Patrik Stridvall <patrik at stridvall.se>
Date:   Mon Jan  8 00:16:02 2007 +0100

imm32: Only unregister the IME class if it was registered.

---

 dlls/imm32/imm.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index bee6472..8c07651 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -60,6 +60,7 @@ static InputContextData *root_context =
 static HWND hwndDefault = NULL;
 static HANDLE hImeInst;
 static const WCHAR WC_IMECLASSNAME[] = {'I','M','E',0};
+static ATOM atIMEClass = 0;
 
 /* MSIME messages */
 static UINT WM_MSIME_SERVICE;
@@ -109,12 +110,14 @@ static void IMM_Register(void)
     wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW +1);
     wndClass.lpszMenuName   = 0;
     wndClass.lpszClassName = WC_IMECLASSNAME;
-    RegisterClassW(&wndClass);
+    atIMEClass = RegisterClassW(&wndClass);
 }
 
 static void IMM_Unregister(void)
 {
-    UnregisterClassW(WC_IMECLASSNAME, NULL);
+    if (atIMEClass) {
+        UnregisterClassW(WC_IMECLASSNAME, NULL);
+    }
 }
 
 static void IMM_RegisterMessages(void)




More information about the wine-cvs mailing list