From: Rémi Bernon rbernon@codeweavers.com
--- dlls/imm32/imm.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index d29684f34a2..d7b9326bd1b 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -52,6 +52,7 @@ struct ime
HKL hkl; HMODULE module; + BOOL is_builtin; struct list entry;
IMEINFO info; @@ -470,7 +471,6 @@ BOOL WINAPI ImmFreeLayout( HKL hkl ) BOOL WINAPI ImmLoadIME( HKL hkl ) { WCHAR buffer[MAX_PATH] = {0}; - BOOL use_default_ime; struct ime *ime;
TRACE( "hkl %p\n", hkl ); @@ -482,11 +482,10 @@ BOOL WINAPI ImmLoadIME( HKL hkl ) return !!ime; }
- if (!ImmGetIMEFileNameW( hkl, buffer, MAX_PATH )) use_default_ime = TRUE; - else if (!(ime->module = LoadLibraryW( buffer ))) use_default_ime = TRUE; - else use_default_ime = FALSE; + if (!ImmGetIMEFileNameW( hkl, buffer, MAX_PATH )) ime->is_builtin = TRUE; + else if (!(ime->module = LoadLibraryW( buffer ))) ime->is_builtin = TRUE;
- if (use_default_ime) + if (ime->is_builtin) { if (*buffer) WARN( "Failed to load %s, falling back to default.\n", debugstr_w(buffer) ); if (!(ime->module = load_graphics_driver())) ime->module = LoadLibraryW( L"imm32" ); @@ -494,7 +493,7 @@ BOOL WINAPI ImmLoadIME( HKL hkl )
#define LOAD_FUNCPTR( f ) \ if (!(ime->p##f = (void *)GetProcAddress( ime->module, #f )) && \ - !(ime->p##f = use_default_ime ? (void *)f : NULL)) \ + !(ime->p##f = ime->is_builtin ? (void *)f : NULL)) \ { \ LeaveCriticalSection( &ime_cs ); \ WARN( "Can't find function %s in HKL %p IME\n", #f, hkl ); \