[NTUSER] Implement IntReorderKeyboardLayouts

This function is provided for KLF_REORDER flag.
CORE-11700
This commit is contained in:
Katayama Hirofumi MZ 2022-09-08 11:00:04 +09:00
parent a4fa5ef435
commit 5bd03d8b97

View file

@ -745,10 +745,20 @@ co_UserActivateKeyboardLayout(
VOID FASTCALL
IntReorderKeyboardLayouts(
_Inout_ PWINSTATION_OBJECT pWinSta,
_Inout_ PKL pKL)
_Inout_ PKL pNewKL)
{
/* FIXME */
gspklBaseLayout = pKL;
PKL pOldKL = gspklBaseLayout;
if ((pWinSta->Flags & WSS_NOIO) || pNewKL == pOldKL)
return;
pNewKL->pklPrev->pklNext = pNewKL->pklNext;
pNewKL->pklNext->pklPrev = pNewKL->pklPrev;
pNewKL->pklNext = pOldKL;
pNewKL->pklPrev = pOldKL->pklPrev;
pOldKL->pklPrev->pklNext = pNewKL;
pOldKL->pklPrev = pNewKL;
gspklBaseLayout = pNewKL; /* Should we use UserAssignmentLock? */
}
/* Win: xxxActivateKeyboardLayout */