mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +00:00
[KBSWITCH]
- Don't fall through to the default label. CID 515166 [NTUSER] - Fix a copypasta. [USER32] - Fix computing of HKL for layouts with Layout id. - Don't call NtUserLoadKeyboardLayoutEx with bogus keyboard layout id. - Ideally LoadKeyboardLayout should return the default system layout on failure - to be continued. svn path=/trunk/; revision=73708
This commit is contained in:
parent
66a30f987b
commit
73bb103c3c
|
@ -492,6 +492,8 @@ WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
if (!ShellExecuteEx(&shInputDll))
|
||||
MessageBox(hwnd, _T("Can't start input.dll"), NULL, MB_OK | MB_ICONERROR);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
default:
|
||||
|
|
|
@ -722,7 +722,7 @@ NtUserActivateKeyboardLayout(
|
|||
{
|
||||
/* Get previous keyboard layout starting with current */
|
||||
if (pti->KeyboardLayout)
|
||||
pKl = pti->KeyboardLayout->pklNext;
|
||||
pKl = pti->KeyboardLayout->pklPrev;
|
||||
}
|
||||
else
|
||||
pKl = UserHklToKbl(hKl);
|
||||
|
|
|
@ -281,7 +281,7 @@ LoadKeyboardLayoutW(LPCWSTR pwszKLID,
|
|||
HKEY hKey;
|
||||
|
||||
/* LOWORD of dwhkl is Locale Identifier */
|
||||
dwhkl = wcstol(pwszKLID, NULL, 16);
|
||||
dwhkl = LOWORD(wcstoul(pwszKLID, NULL, 16));
|
||||
|
||||
if (Flags & KLF_SUBSTITUTE_OK)
|
||||
{
|
||||
|
@ -324,7 +324,10 @@ LoadKeyboardLayoutW(LPCWSTR pwszKLID,
|
|||
RegCloseKey(hKey);
|
||||
}
|
||||
else
|
||||
ERR("RegOpenKeyExW failed!\n");
|
||||
{
|
||||
ERR("Could not find keyboard layout %S.\n", pwszKLID);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* If Layout Id is not given HIWORD == LOWORD (for dwhkl) */
|
||||
if (!HIWORD(dwhkl))
|
||||
|
|
Loading…
Reference in a new issue