diff options
Diffstat (limited to 'EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c')
-rw-r--r-- | EdkNt32Pkg/Dxe/PlatformBds/Generic/BootMaint/BootMaint.c | 15 |
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 ();
|