FILE_EXPLORER_NV_DATA *NvRamMap;\r
EFI_STATUS Status;\r
\r
- if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
- if ((Value == NULL) || (ActionRequest == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- Status = EFI_SUCCESS;\r
- Private = FE_CALLBACK_DATA_FROM_THIS (This);\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE;\r
-\r
+ if (Action != EFI_BROWSER_ACTION_CHANGING && Action != EFI_BROWSER_ACTION_CHANGED) {\r
//\r
- // Retrieve uncommitted data from Form Browser\r
+ // All other action return unsupported.\r
//\r
- NvRamMap = &Private->FeFakeNvData;\r
- HiiGetBrowserData (&gFileExploreFormSetGuid, mFileExplorerStorageName, sizeof (FILE_EXPLORER_NV_DATA), (UINT8 *) NvRamMap);\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+ \r
+ Status = EFI_SUCCESS;\r
+ Private = FE_CALLBACK_DATA_FROM_THIS (This);\r
\r
+ //\r
+ // Retrieve uncommitted data from Form Browser\r
+ //\r
+ NvRamMap = &Private->FeFakeNvData;\r
+ HiiGetBrowserData (&gFileExploreFormSetGuid, mFileExplorerStorageName, sizeof (FILE_EXPLORER_NV_DATA), (UINT8 *) NvRamMap);\r
+\r
+ if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
+ if ((Value == NULL) || (ActionRequest == NULL)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
if (QuestionId == KEY_VALUE_SAVE_AND_EXIT_BOOT || QuestionId == KEY_VALUE_SAVE_AND_EXIT_DRIVER) {\r
//\r
// Apply changes and exit formset\r
// Exit File Explorer formset\r
//\r
*ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
- } else {\r
- if (UpdateFileExplorer (Private, QuestionId)) {\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
- }\r
}\r
-\r
- return Status;\r
+ } else if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
+ if (Value == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ if (QuestionId >= FILE_OPTION_OFFSET) {\r
+ UpdateFileExplorer (Private, QuestionId);\r
+ }\r
}\r
- //\r
- // All other action return unsupported.\r
- //\r
- return EFI_UNSUPPORTED;\r
+\r
+ return Status;\r
}\r