Aric Stewart : imm32: Semi-stub implement ImmEnumRegisterWord using loaded IME.
Alexandre Julliard
julliard at winehq.org
Wed Apr 9 14:31:31 CDT 2008
Module: wine
Branch: master
Commit: 5818a0e7873e60cdcc2224afb2f3b3693df7938a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5818a0e7873e60cdcc2224afb2f3b3693df7938a
Author: Aric Stewart <aric at codeweavers.com>
Date: Wed Apr 9 09:41:15 2008 -0500
imm32: Semi-stub implement ImmEnumRegisterWord using loaded IME.
---
dlls/imm32/imm.c | 48 ++++++++++++++++++++++++++++++++++--------------
1 files changed, 34 insertions(+), 14 deletions(-)
diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index 1ffe559..7510187 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -576,13 +576,23 @@ UINT WINAPI ImmEnumRegisterWordA(
LPCSTR lpszReading, DWORD dwStyle,
LPCSTR lpszRegister, LPVOID lpData)
{
- FIXME("(%p, %p, %s, %d, %s, %p): stub\n",
- hKL, lpfnEnumProc,
- debugstr_a(lpszReading), dwStyle,
- debugstr_a(lpszRegister), lpData
- );
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
+ ImmHkl *immHkl = IMM_GetImmHkl(hKL);
+ TRACE("(%p, %p, %s, %d, %s, %p):\n", hKL, lpfnEnumProc,
+ debugstr_a(lpszReading), dwStyle, debugstr_a(lpszRegister), lpData);
+ if (immHkl->hIME && immHkl->pImeEnumRegisterWord)
+ {
+ if (!is_kbd_ime_unicode(immHkl))
+ return immHkl->pImeEnumRegisterWord((REGISTERWORDENUMPROCW)lpfnEnumProc,
+ (LPCWSTR)lpszReading, dwStyle, (LPCWSTR)lpszRegister, lpData);
+ else
+ {
+ FIXME("A procedure called with W ime back end\n");
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+ }
+ }
+ else
+ return 0;
}
/***********************************************************************
@@ -593,13 +603,23 @@ UINT WINAPI ImmEnumRegisterWordW(
LPCWSTR lpszReading, DWORD dwStyle,
LPCWSTR lpszRegister, LPVOID lpData)
{
- FIXME("(%p, %p, %s, %d, %s, %p): stub\n",
- hKL, lpfnEnumProc,
- debugstr_w(lpszReading), dwStyle,
- debugstr_w(lpszRegister), lpData
- );
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return 0;
+ ImmHkl *immHkl = IMM_GetImmHkl(hKL);
+ TRACE("(%p, %p, %s, %d, %s, %p):\n", hKL, lpfnEnumProc,
+ debugstr_w(lpszReading), dwStyle, debugstr_w(lpszRegister), lpData);
+ if (immHkl->hIME && immHkl->pImeEnumRegisterWord)
+ {
+ if (is_kbd_ime_unicode(immHkl))
+ return immHkl->pImeEnumRegisterWord(lpfnEnumProc, lpszReading, dwStyle,
+ lpszRegister, lpData);
+ else
+ {
+ FIXME("W procedure called with A ime back end\n");
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return 0;
+ }
+ }
+ else
+ return 0;
}
/***********************************************************************
More information about the wine-cvs
mailing list