IN UINT16 DefaultId\r
)\r
{\r
- EFI_STATUS Status;\r
-\r
//\r
// This is caused by use press ESC, and it should not combine with other action type.\r
//\r
}\r
\r
if ((Action & BROWSER_ACTION_SUBMIT) == BROWSER_ACTION_SUBMIT) {\r
- Status = SubmitForm (gCurrentSelection->FormSet, gCurrentSelection->Form, gBrowserSettingScope);\r
- if (EFI_ERROR (Status)) {\r
- PopupErrorMessage(BROWSER_SUBMIT_FAIL, NULL, NULL);\r
- }\r
+ SubmitForm (gCurrentSelection->FormSet, gCurrentSelection->Form, gBrowserSettingScope);\r
}\r
\r
if ((Action & BROWSER_ACTION_RESET) == BROWSER_ACTION_RESET) {\r
IN BROWSER_SETTING_SCOPE Scope\r
)\r
{\r
- BOOLEAN RetValue;\r
+ BOOLEAN RetValue;\r
+ EFI_STATUS Status;\r
\r
RetValue = TRUE;\r
switch (mFormDisplay->ConfirmDataChange()) {\r
break;\r
\r
case BROWSER_ACTION_SUBMIT:\r
- SubmitForm (Selection->FormSet, Selection->Form, Scope);\r
+ Status = SubmitForm (Selection->FormSet, Selection->Form, Scope);\r
+ if (EFI_ERROR (Status)) {\r
+ RetValue = FALSE;\r
+ }\r
break;\r
\r
case BROWSER_ACTION_NONE:\r
//\r
// Not found the EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL protocol.\r
//\r
- PopupErrorMessage(BROWSER_PROTOCOL_NOT_FOUND, NULL, NULL);\r
+ PopupErrorMessage(BROWSER_PROTOCOL_NOT_FOUND, NULL, NULL, NULL);\r
FreePool (StringPtr);\r
return Status;\r
}\r
//\r
// Form is suppressed. \r
//\r
- PopupErrorMessage(BROWSER_FORM_SUPPRESS, NULL, NULL);\r
+ PopupErrorMessage(BROWSER_FORM_SUPPRESS, NULL, NULL, NULL);\r
return EFI_SUCCESS;\r
}\r
}\r
gCurrentSelection->FormId, gCurrentSelection->QuestionId);\r
ASSERT (CurrentMenu != NULL);\r
}\r
+\r
+ //\r
+ // Back up the form view history data for this form.\r
+ //\r
+ UiCopyMenuList(&gCurrentSelection->Form->FormViewListHead, &mPrivateData.FormBrowserEx2.FormViewHistoryHead);\r
+\r
gCurrentSelection->CurrentMenu = CurrentMenu;\r
\r
//\r
// and an valid value has return.\r
// EFI_SUCCESS: Success shows form and get user input in UserInput paramenter.\r
//\r
+ ASSERT (gDisplayFormData.BrowserStatus == BROWSER_SUCCESS);\r
Status = mFormDisplay->FormDisplay (&gDisplayFormData, &UserInput);\r
if (EFI_ERROR (Status) && Status != EFI_NOT_FOUND) {\r
FreeDisplayFormData();\r
//\r
if ((gBrowserSettingScope == FormLevel && IsNvUpdateRequiredForForm (Selection->Form)) ||\r
(gBrowserSettingScope == FormSetLevel && IsNvUpdateRequiredForFormSet(Selection->FormSet) && Scope == FormSetLevel)) {\r
- if (!ProcessChangedData(Selection, Scope)) {\r
+ if (!ProcessChangedData(Selection, gBrowserSettingScope)) {\r
return FALSE;\r
}\r
}\r
//\r
// Form is suppressed. \r
//\r
- PopupErrorMessage(BROWSER_FORM_SUPPRESS, NULL, NULL);\r
+ PopupErrorMessage(BROWSER_FORM_SUPPRESS, NULL, NULL, NULL);\r
Status = EFI_NOT_FOUND;\r
goto Done;\r
}\r