CHAR8 *PlatformSupportedLanguages;\r
CHAR8 *BestLanguage;\r
\r
- if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
+ if (Action != EFI_BROWSER_ACTION_CHANGING && Action != EFI_BROWSER_ACTION_CHANGED) {\r
+ //\r
+ // All other action return unsupported.\r
+ //\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ \r
+ gCallbackKey = QuestionId;\r
+\r
+ if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
if ((Value == NULL) || (ActionRequest == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- gCallbackKey = QuestionId;\r
-\r
- //\r
- // The first 4 entries in the Front Page are to be GUARANTEED to remain constant so IHV's can\r
- // describe to their customers in documentation how to find their setup information (namely\r
- // under the device manager and specific buckets)\r
- //\r
switch (QuestionId) {\r
case FRONT_PAGE_KEY_CONTINUE:\r
//\r
// This is the continue - clear the screen and return an error to get out of FrontPage loop\r
//\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
break;\r
\r
case FRONT_PAGE_KEY_LANGUAGE:\r
ASSERT (FALSE);\r
}\r
\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+\r
FreePool (PlatformSupportedLanguages);\r
FreePool (Lang);\r
FreePool (LanguageString);\r
break;\r
\r
+ default:\r
+ break;\r
+ }\r
+ } else if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
+ if (Value == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ //\r
+ // The first 4 entries in the Front Page are to be GUARANTEED to remain constant so IHV's can\r
+ // describe to their customers in documentation how to find their setup information (namely\r
+ // under the device manager and specific buckets)\r
+ //\r
+ switch (QuestionId) {\r
case FRONT_PAGE_KEY_BOOT_MANAGER:\r
//\r
// Boot Manager\r
gCallbackKey = 0;\r
break;\r
}\r
-\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
-\r
- return EFI_SUCCESS;\r
}\r
\r
- //\r
- // All other action return unsupported.\r
- //\r
- return EFI_UNSUPPORTED;\r
+ return EFI_SUCCESS; \r
}\r
\r
/**\r
BootLogo->SetBootLogo (BootLogo, NULL, 0, 0, 0, 0);\r
}\r
\r
+ Status = EFI_SUCCESS;\r
do {\r
//\r
// Set proper video resolution and text mode for setup\r
UpdateFrontPageStrings ();\r
\r
gCallbackKey = 0;\r
- Status = CallFrontPage ();\r
+ CallFrontPage ();\r
\r
//\r
// If gCallbackKey is greater than 1 and less or equal to 5,\r