]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/Dxe/PlatformBds/Generic/FrontPage.c
Remove USER_DEFINED in IncludePkgHeader in spd files as it does not make sense to...
[mirror_edk2.git] / EdkNt32Pkg / Dxe / PlatformBds / Generic / FrontPage.c
index 69b2fb507815339344329ad13ede3074804c8494..c659384d4d487e6a0d261069a3a8784fba7aca6f 100644 (file)
@@ -74,13 +74,13 @@ Returns:
   EFI_STATUS    Status;\r
   UINTN         Index;\r
   CHAR16        *TmpStr;\r
-  EFI_UGA_PIXEL Foreground;\r
-  EFI_UGA_PIXEL Background;\r
-  EFI_UGA_PIXEL Color;\r
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground;\r
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background;\r
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL Color;\r
 \r
-  SetMem (&Foreground, sizeof (EFI_UGA_PIXEL), 0xff);\r
-  SetMem (&Background, sizeof (EFI_UGA_PIXEL), 0x0);\r
-  SetMem (&Color, sizeof (EFI_UGA_PIXEL), 0xff);\r
+  SetMem (&Foreground, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
+  SetMem (&Background, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0x0);\r
+  SetMem (&Color, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
 \r
   Count = 0;\r
 \r
@@ -417,6 +417,7 @@ Returns:
 {\r
   EFI_STATUS  Status;\r
   UINT8       FakeNvRamMap[1];\r
+  BOOLEAN     FrontPageMenuResetRequired;\r
 \r
   //\r
   // Begin waiting for USER INPUT\r
@@ -427,6 +428,7 @@ Returns:
         );\r
 \r
   FakeNvRamMap[0] = (UINT8) mLastSelection;\r
+  FrontPageMenuResetRequired = FALSE;\r
   Status = gBrowser->SendForm (\r
                       gBrowser,\r
                       TRUE,                     // Use the database\r
@@ -436,8 +438,14 @@ Returns:
                       FrontPageCallbackHandle,  // This is the handle that the interface to the callback was installed on\r
                       FakeNvRamMap,\r
                       NULL,\r
-                      NULL\r
+                      &FrontPageMenuResetRequired\r
                       );\r
+  //\r
+  // Check whether user change any option setting which needs a reset to be effective\r
+  //                      \r
+  if (FrontPageMenuResetRequired) {\r
+    EnableResetRequired ();\r
+  }\r
 \r
   Hii->ResetStrings (Hii, gFrontPageHandle);\r
 \r
@@ -477,15 +485,16 @@ Returns:
   UINT16          Length;\r
   EFI_GUID        HiiGuid;\r
 \r
-  HandleBufferLength  = 0x1000;\r
+  //\r
+  // Initialize params.\r
+  //\r
+  HandleBufferLength  = 0;\r
   HiiHandleBuffer     = NULL;\r
 \r
   //\r
   // Get all the Hii handles\r
   //\r
-  HiiHandleBuffer = AllocateZeroPool (HandleBufferLength);\r
-\r
-  Status          = Hii->FindHandles (Hii, &HandleBufferLength, HiiHandleBuffer);\r
+  Status = BdsLibGetHiiHandles (Hii, &HandleBufferLength, &HiiHandleBuffer);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
@@ -877,6 +886,11 @@ Returns:
 \r
   } while ((Status == EFI_SUCCESS) && (gCallbackKey != 1));\r
 \r
+  //\r
+  //Will leave browser, check any reset required change is applied? if yes, reset system\r
+  //\r
+  SetupResetReminder ();\r
+  \r
   //\r
   // Automatically load current entry\r
   // Note: The following lines of code only execute when Auto boot\r