From 5e93c3bb5037ad7921a66ddb9a236eb135f5dd46 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 18 Oct 2015 13:52:51 +0000 Subject: [PATCH] USETUP: Do not ask to select language if just one language is available Patch by Carlo Bramini. Thanks a lot! CORE-10322 #resolve svn path=/trunk/; revision=69600 --- reactos/base/setup/usetup/genlist.c | 13 +++++++++++++ reactos/base/setup/usetup/genlist.h | 8 ++++---- reactos/base/setup/usetup/interface/usetup.c | 6 ++++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/reactos/base/setup/usetup/genlist.c b/reactos/base/setup/usetup/genlist.c index e96b75e1b5e..240df1cbebb 100644 --- a/reactos/base/setup/usetup/genlist.c +++ b/reactos/base/setup/usetup/genlist.c @@ -653,4 +653,17 @@ RestoreGenericListState( List->CurrentEntry = List->BackupEntry; } + +BOOL +GenericListHasSingleEntry( + PGENERIC_LIST List) +{ + if (!IsListEmpty(&List->ListHead) && List->ListHead.Flink == List->ListHead.Blink) + return TRUE; + + /* if both list head pointers (which normally point to the first and last list member, respectively) + point to the same entry then it means that there's just a single thing in there, otherwise... false! */ + return FALSE; +} + /* EOF */ diff --git a/reactos/base/setup/usetup/genlist.h b/reactos/base/setup/usetup/genlist.h index eda4aec40ac..0361d2b8882 100644 --- a/reactos/base/setup/usetup/genlist.h +++ b/reactos/base/setup/usetup/genlist.h @@ -54,10 +54,6 @@ DrawGenericList( SHORT Right, SHORT Bottom); -VOID -DrawScrollBarGenericLis( - PGENERIC_LIST List); - VOID ScrollDownGenericList( PGENERIC_LIST List); @@ -121,4 +117,8 @@ GenericListKeyPress( PGENERIC_LIST List, CHAR AsciChar); +BOOL +GenericListHasSingleEntry( + PGENERIC_LIST List); + /* EOF */ diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 84077f5b7e0..f71db84b53d 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -633,6 +633,12 @@ LanguagePage(PINPUT_RECORD Ir) /* Load the font */ SelectedLanguageId = DefaultLanguage; SetConsoleCodePage(); + UpdateKBLayout(); + + /* If there's just a single language in the list skip + * the language selection process altogether! */ + if (GenericListHasSingleEntry(LanguageList)) + return INTRO_PAGE; DrawGenericList(LanguageList, 2, -- 2.17.1