mirror of
https://github.com/reactos/reactos.git
synced 2024-07-11 23:25:09 +00:00
WM_INPUTLANGCHANGE is sent not posted.
svn path=/trunk/; revision=25923
This commit is contained in:
parent
05d4dee367
commit
9eea1f6b20
|
@ -7,7 +7,7 @@ typedef struct _KBL
|
|||
{
|
||||
LIST_ENTRY List;
|
||||
DWORD Flags;
|
||||
WCHAR Name[9]; // used w GetKeyboardLayoutName same as wszKLID.
|
||||
WCHAR Name[KL_NAMELENGTH]; // used w GetKeyboardLayoutName same as wszKLID.
|
||||
struct _KBDTABLES* KBTables; // KBDTABLES in ntoskrnl/include/internal/kbd.h
|
||||
HANDLE hModule;
|
||||
ULONG RefCount;
|
||||
|
|
|
@ -318,10 +318,9 @@ static PKBL UserHklToKbl(HKL hKl)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static PKBL UserActivateKbl(PW32THREAD Thread, PKBL pKbl)
|
||||
static PKBL co_UserActivateKbl(PW32THREAD Thread, PKBL pKbl)
|
||||
{
|
||||
PKBL Prev;
|
||||
MSG Msg;
|
||||
|
||||
Prev = Thread->KeyboardLayout;
|
||||
Prev->RefCount--;
|
||||
|
@ -329,13 +328,10 @@ static PKBL UserActivateKbl(PW32THREAD Thread, PKBL pKbl)
|
|||
pKbl->RefCount++;
|
||||
|
||||
// Send WM_INPUTLANGCHANGE to thread's focus window
|
||||
|
||||
Msg.hwnd = Thread->MessageQueue->FocusWindow;
|
||||
Msg.message = WM_INPUTLANGCHANGE;
|
||||
Msg.wParam = 0; // Charset. FIXME: what is this?
|
||||
Msg.lParam = (LPARAM)pKbl->hkl; // klid
|
||||
|
||||
MsqPostMessage(Thread->MessageQueue, &Msg, FALSE, QS_POSTMESSAGE);
|
||||
co_IntSendMessage(Thread->MessageQueue->FocusWindow,
|
||||
WM_INPUTLANGCHANGE,
|
||||
0, // FIXME: put charset here (what is this?)
|
||||
(LPARAM)pKbl->hkl); //klid
|
||||
|
||||
return Prev;
|
||||
}
|
||||
|
@ -489,7 +485,7 @@ NtUserLoadKeyboardLayoutEx(
|
|||
|
||||
if(Flags & KLF_ACTIVATE)
|
||||
{
|
||||
UserActivateKbl(PsGetCurrentThreadWin32Thread(), pKbl);
|
||||
co_UserActivateKbl(PsGetCurrentThreadWin32Thread(), pKbl);
|
||||
}
|
||||
|
||||
Ret = pKbl->hkl;
|
||||
|
@ -547,7 +543,7 @@ NtUserActivateKeyboardLayout(
|
|||
}
|
||||
else
|
||||
{
|
||||
pKbl = UserActivateKbl(pWThread, pKbl);
|
||||
pKbl = co_UserActivateKbl(pWThread, pKbl);
|
||||
Ret = pKbl->hkl;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue