From: Eric Kohl Date: Sun, 14 Feb 2016 18:57:12 +0000 (+0000) Subject: [USERINIT] X-Git-Tag: ReactOS-0.4.1~469 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=9a468d30e522133c97eb239bcf9d52209d6bbf0b;ds=sidebyside [USERINIT] Select the current keyboard layout in the keyloard layout list. svn path=/trunk/; revision=70745 --- diff --git a/reactos/base/system/userinit/livecd.c b/reactos/base/system/userinit/livecd.c index d7bb1d611d5..2ab8870a6e7 100644 --- a/reactos/base/system/userinit/livecd.c +++ b/reactos/base/system/userinit/livecd.c @@ -302,12 +302,16 @@ CreateKeyboardLayoutList( HWND hItemsList) { HKEY hKey; - WCHAR szLayoutID[9], KeyName[MAX_PATH]; + WCHAR szLayoutId[9], szCurrentLayoutId[9]; + WCHAR KeyName[MAX_PATH]; DWORD dwIndex = 0; DWORD dwSize; INT iIndex; LONG lError; - ULONG ulLayoutID; + ULONG ulLayoutId; + + if (!GetKeyboardLayoutNameW(szCurrentLayoutId)) + wcscpy(szCurrentLayoutId, L"00000409"); lError = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"System\\CurrentControlSet\\Control\\Keyboard Layouts", @@ -319,11 +323,11 @@ CreateKeyboardLayoutList( while (TRUE) { - dwSize = sizeof(szLayoutID) / sizeof(WCHAR); + dwSize = sizeof(szLayoutId) / sizeof(WCHAR); lError = RegEnumKeyExW(hKey, dwIndex, - szLayoutID, + szLayoutId, &dwSize, NULL, NULL, @@ -332,15 +336,14 @@ CreateKeyboardLayoutList( if (lError != ERROR_SUCCESS) break; - GetLayoutName(szLayoutID, KeyName); + GetLayoutName(szLayoutId, KeyName); iIndex = (INT)SendMessageW(hItemsList, CB_ADDSTRING, 0, (LPARAM)KeyName); - ulLayoutID = wcstoul(szLayoutID, NULL, 16); - SendMessageW(hItemsList, CB_SETITEMDATA, iIndex, (LPARAM)ulLayoutID); + ulLayoutId = wcstoul(szLayoutId, NULL, 16); + SendMessageW(hItemsList, CB_SETITEMDATA, iIndex, (LPARAM)ulLayoutId); - // FIXME! - if (wcscmp(szLayoutID, L"00000409") == 0) + if (wcscmp(szLayoutId, szCurrentLayoutId) == 0) { SendMessageW(hItemsList, CB_SETCURSEL, (WPARAM)iIndex, (LPARAM)0); }