diff --git a/reactos/base/setup/usetup/genlist.c b/reactos/base/setup/usetup/genlist.c index a1f0f4dce0d..9073ca3880c 100644 --- a/reactos/base/setup/usetup/genlist.c +++ b/reactos/base/setup/usetup/genlist.c @@ -482,6 +482,20 @@ ScrollUpGenericList (PGENERIC_LIST List) } +VOID +RedrawGenericList(PGENERIC_LIST List) +{ + if (List->CurrentEntry == NULL) + return; + + if (List->Redraw) + { + DrawListEntries(List); + DrawScrollBarGenericList(List); + } +} + + VOID SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry) { diff --git a/reactos/base/setup/usetup/genlist.h b/reactos/base/setup/usetup/genlist.h index 2d4cc74fbe2..8b09a5eaf58 100644 --- a/reactos/base/setup/usetup/genlist.h +++ b/reactos/base/setup/usetup/genlist.h @@ -69,6 +69,9 @@ ScrollPageUpGenericList(PGENERIC_LIST List); VOID ScrollToPositionGenericList (PGENERIC_LIST List, ULONG uIndex); +VOID +RedrawGenericList(PGENERIC_LIST List); + VOID SetCurrentListEntry(PGENERIC_LIST List, PGENERIC_LIST_ENTRY Entry); diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 260005348bd..74bf8e64e0a 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -676,6 +676,8 @@ LanguagePage(PINPUT_RECORD Ir) { if (ConfirmQuit(Ir) == TRUE) return QUIT_PAGE; + else + RedrawGenericList(LanguageList); } else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ { @@ -1354,7 +1356,7 @@ KeyboardSettingsPage(PINPUT_RECORD Ir) } } - return DISPLAY_SETTINGS_PAGE; + return KEYBOARD_SETTINGS_PAGE; } @@ -1420,7 +1422,7 @@ LayoutSettingsPage(PINPUT_RECORD Ir) } } - return DISPLAY_SETTINGS_PAGE; + return LAYOUT_SETTINGS_PAGE; }