imm32: ImmConfigureIME should return 0 when the type is IME_CONFIG_REGISTERWORD and the data is NULL.

oldstable
Aric Stewart 2008-09-27 13:30:43 -05:00 committed by Alexandre Julliard
parent 55a28dd364
commit d63eccc602
2 changed files with 24 additions and 0 deletions

View File

@ -513,6 +513,9 @@ BOOL WINAPI ImmConfigureIMEA(
TRACE("(%p, %p, %d, %p):\n", hKL, hWnd, dwMode, lpData);
if (dwMode == IME_CONFIG_REGISTERWORD && !lpData)
return FALSE;
if (immHkl->hIME && immHkl->pImeConfigure)
{
if (dwMode != IME_CONFIG_REGISTERWORD || !is_kbd_ime_unicode(immHkl))
@ -545,6 +548,9 @@ BOOL WINAPI ImmConfigureIMEW(
TRACE("(%p, %p, %d, %p):\n", hKL, hWnd, dwMode, lpData);
if (dwMode == IME_CONFIG_REGISTERWORD && !lpData)
return FALSE;
if (immHkl->hIME && immHkl->pImeConfigure)
{
if (dwMode != IME_CONFIG_REGISTERWORD || is_kbd_ime_unicode(immHkl))

View File

@ -254,11 +254,29 @@ static int test_ImmGetCompositionString(void)
return 0;
}
static int test_ImmIME(void)
{
HIMC imc;
imc = ImmGetContext(hwnd);
if (imc)
{
BOOL rc;
rc = ImmConfigureIMEA(imc, NULL, IME_CONFIG_REGISTERWORD, NULL);
ok (rc == 0, "ImmConfigureIMEA did not fail\n");
rc = ImmConfigureIMEW(imc, NULL, IME_CONFIG_REGISTERWORD, NULL);
ok (rc == 0, "ImmConfigureIMEW did not fail\n");
}
ImmReleaseContext(hwnd,imc);
return 0;
}
START_TEST(imm32) {
if (init())
{
test_ImmNotifyIME();
test_ImmGetCompositionString();
test_ImmIME();
}
cleanup();
}