diff options
author | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-06-04 01:29:03 +0000 |
---|---|---|
committer | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-06-04 01:29:03 +0000 |
commit | 13ad1def34bfd3f8fbfa4bc0bf814518a9047b27 (patch) | |
tree | 153007468251a83485bbbf164c9093867f39a27d /MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | |
parent | c6498c1d459dbdedead7664fd3c6e498a337e4f1 (diff) | |
download | edk2-platforms-13ad1def34bfd3f8fbfa4bc0bf814518a9047b27.tar.xz |
Do the following fix up in SetupBrowser driver:
1) Check whether ConfigAccess is NULL before use it.
2) Don't do call back for UI_ACTION_REFRESH_FORMSET action.
3) Release resource before leave SetupBrowser() function.
4) Use the unified check method (HiiHandle, FormsetGuid and FormId) to check FORM is open or close.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10565 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/SetupBrowserDxe/Setup.c')
-rw-r--r-- | MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c index e06228d4aa..42edc08970 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c @@ -2080,15 +2080,13 @@ LoadFormConfig ( //
// Check whether EfiVarstore with CallBack can be got.
//
- if ((Question->QuestionId != 0) && (Question->Storage != NULL) &&
+ if ((FormSet->ConfigAccess != NULL) &&
+ (Selection->Action != UI_ACTION_REFRESH_FORMSET) &&
+ (Question->QuestionId != 0) &&
+ (Question->Storage != NULL) &&
(Question->Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) &&
((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) == EFI_IFR_FLAG_CALLBACK)) {
- //
- // ConfigAccess can't be NULL.
- //
- if (FormSet->ConfigAccess == NULL) {
- return EFI_UNSUPPORTED;
- }
+
//
// Check QuestionValue does exist.
//
|