summaryrefslogtreecommitdiff
path: root/EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c
diff options
context:
space:
mode:
Diffstat (limited to 'EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c')
-rw-r--r--EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c b/EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c
index c4b3211dfd..6eefa0bd30 100644
--- a/EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c
+++ b/EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c
@@ -1230,6 +1230,7 @@ Returns:
UINTN Index;
BM_MENU_ENTRY *NewMenuEntry;
BM_FILE_CONTEXT *NewFileContext;
+ BOOLEAN BootMaintMenuResetRequired;
Location = NULL;
Index = 0;
@@ -1247,6 +1248,7 @@ Returns:
while (1) {
UpdatePageId (CallbackData, FORM_MAIN_ID);
+ BootMaintMenuResetRequired = FALSE;
Status = FormConfig->SendForm (
FormConfig,
TRUE,
@@ -1256,9 +1258,13 @@ Returns:
NULL,
(UINT8 *) CallbackData->BmmFakeNvData,
NULL,
- NULL
+ &BootMaintMenuResetRequired
);
+ if (BootMaintMenuResetRequired) {
+ EnableResetRequired ();
+ }
+
ReclaimStringDepository ();
//
@@ -1267,6 +1273,7 @@ Returns:
if (INACTIVE_STATE != CallbackData->FeCurrentState) {
UpdateFileExplorer (CallbackData, 0);
+ BootMaintMenuResetRequired = FALSE;
Status = FormConfig->SendForm (
FormConfig,
TRUE,
@@ -1276,9 +1283,13 @@ Returns:
NULL,
NULL,
NULL,
- NULL
+ &BootMaintMenuResetRequired
);
+ if (BootMaintMenuResetRequired) {
+ EnableResetRequired ();
+ }
+
CallbackData->FeCurrentState = INACTIVE_STATE;
CallbackData->FeDisplayContext = UNKNOWN_CONTEXT;
ReclaimStringDepository ();