Reviewed-by: Liming Gao <[email protected]>

> -----Original Message-----
> From: Dong, Eric
> Sent: Tuesday, May 17, 2016 2:14 PM
> To: [email protected]
> Cc: Gao, Liming <[email protected]>
> Subject: [Patch] BootMaintenanceManagerUiLib: Rollback changes for
> BootNext.
> 
> Commit a85be3ae48a8aaa40b755cd0ff7270c67cfed585 imports errors for
> BootNext question, this patch rollback the related changes.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Eric Dong <[email protected]>
> Cc: Liming Gao <[email protected]>
> ---
>  .../BootMaintenanceManagerCustomizedUiSupport.c    | 65 ++++++++++++-
> ---------
>  1 file changed, 36 insertions(+), 29 deletions(-)
> 
> diff --git
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerCustomizedUiSupport.c
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerCustomizedUiSupport.c
> index b32cbdb..a76209f 100644
> ---
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerCustomizedUiSupport.c
> +++
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerCustomizedUiSupport.c
> @@ -43,17 +43,16 @@ BmmCreateBootNextMenu(
>  {
>    BM_MENU_ENTRY   *NewMenuEntry;
>    BM_LOAD_CONTEXT *NewLoadContext;
> -  UINTN           NumberOfOptions;
>    UINT16          Index;
>    VOID            *OptionsOpCodeHandle;
> -  CHAR16          *StringBuffer;
> -  EFI_STRING_ID   OptionId;
> +  UINT32          BootNextIndex;
> 
> -  NumberOfOptions = BootOptionMenu.MenuNumber;
> -  if (NumberOfOptions == 0) {
> +  if (BootOptionMenu.MenuNumber == 0) {
>      return;
>    }
> 
> +  BootNextIndex = NONE_BOOTNEXT_VALUE;
> +
>    OptionsOpCodeHandle = HiiAllocateOpCodeHandle ();
>    ASSERT (OptionsOpCodeHandle != NULL);
> 
> @@ -61,36 +60,44 @@ BmmCreateBootNextMenu(
>      NewMenuEntry    = BOpt_GetMenuEntry (&BootOptionMenu, Index);
>      NewLoadContext  = (BM_LOAD_CONTEXT *) NewMenuEntry-
> >VariableContext;
> 
> -    StringBuffer = HiiGetString (HiiHandle, NewMenuEntry-
> >DisplayStringToken, NULL);
> -    ASSERT (StringBuffer != NULL);
> -    OptionId = HiiSetString (HiiHandle, 0, StringBuffer, NULL);
> -    FreePool (StringBuffer);
> +    if (NewLoadContext->IsBootNext) {
> +      HiiCreateOneOfOptionOpCode (
> +        OptionsOpCodeHandle,
> +        NewMenuEntry->DisplayStringToken,
> +        EFI_IFR_OPTION_DEFAULT,
> +        EFI_IFR_TYPE_NUM_SIZE_32,
> +        Index
> +        );
> +      BootNextIndex = Index;
> +    } else {
> +      HiiCreateOneOfOptionOpCode (
> +        OptionsOpCodeHandle,
> +        NewMenuEntry->DisplayStringToken,
> +        0,
> +        EFI_IFR_TYPE_NUM_SIZE_32,
> +        Index
> +        );
> +    }
> +  }
> 
> +  if (BootNextIndex == NONE_BOOTNEXT_VALUE) {
>      HiiCreateOneOfOptionOpCode (
>        OptionsOpCodeHandle,
> -      OptionId,
> +      STRING_TOKEN (STR_NONE),
> +      EFI_IFR_OPTION_DEFAULT,
> +      EFI_IFR_TYPE_NUM_SIZE_32,
> +      NONE_BOOTNEXT_VALUE
> +      );
> +  } else {
> +    HiiCreateOneOfOptionOpCode (
> +      OptionsOpCodeHandle,
> +      STRING_TOKEN (STR_NONE),
>        0,
> -      EFI_IFR_TYPE_NUM_SIZE_16,
> -      Index
> +      EFI_IFR_TYPE_NUM_SIZE_32,
> +      NONE_BOOTNEXT_VALUE
>        );
>    }
> 
> -  StringBuffer = HiiGetString (HiiHandle, STRING_TOKEN (STR_NONE), NULL);
> -  ASSERT (StringBuffer != NULL);
> -  OptionId = HiiSetString (HiiHandle, 0, StringBuffer, NULL);
> -  FreePool (StringBuffer);
> -
> -  //
> -  // Set no Boot Next Value as default.
> -  //
> -  HiiCreateOneOfOptionOpCode (
> -    OptionsOpCodeHandle,
> -    OptionId,
> -    EFI_IFR_OPTION_DEFAULT,
> -    EFI_IFR_TYPE_NUM_SIZE_16,
> -    Index
> -    );
> -
>    HiiCreateOneOfOpCode (
>      StartOpCodeHandle,
>      (EFI_QUESTION_ID) BOOT_NEXT_QUESTION_ID,
> @@ -99,7 +106,7 @@ BmmCreateBootNextMenu(
>      STRING_TOKEN (STR_BOOT_NEXT),
>      STRING_TOKEN (STR_BOOT_NEXT_HELP),
>      0,
> -    EFI_IFR_NUMERIC_SIZE_2,
> +    EFI_IFR_NUMERIC_SIZE_4,
>      OptionsOpCodeHandle,
>      NULL
>      );
> --
> 2.6.4.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to