diff options
author | ydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-11-15 08:13:23 +0000 |
---|---|---|
committer | ydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-11-15 08:13:23 +0000 |
commit | 54f8fc6d754a9481ab149f54334a4ea01913adb6 (patch) | |
tree | 83d3cad72961cca5af848903cc5d1fb6d9cf2323 | |
parent | abe4c4590b0a88fd97741462008131dc6f35c1a8 (diff) | |
download | edk2-platforms-54f8fc6d754a9481ab149f54334a4ea01913adb6.tar.xz |
Check mHiiPackageListUpdated before set it to FALSE.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13947 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c index b8612e8c42..62811c751a 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c @@ -1437,6 +1437,15 @@ SetupBrowser ( do {
//
+ // IFR is updated, force to reparse the IFR binary
+ //
+ if (mHiiPackageListUpdated) {
+ Selection->Action = UI_ACTION_REFRESH_FORMSET;
+ mHiiPackageListUpdated = FALSE;
+ break;
+ }
+
+ //
// Initialize Selection->Form
//
if (Selection->FormId == 0) {
@@ -1477,11 +1486,6 @@ SetupBrowser ( }
//
- // Reset FormPackage update flag
- //
- mHiiPackageListUpdated = FALSE;
-
- //
// Before display new form, invoke ConfigAccess.Callback() with EFI_BROWSER_ACTION_FORM_OPEN
// for each question with callback flag.
// New form may be the first form, or the different form after another form close.
@@ -1564,11 +1568,6 @@ SetupBrowser ( gResetRequired = TRUE;
}
- //
- // Reset FormPackage update flag
- //
- mHiiPackageListUpdated = FALSE;
-
if ((ConfigAccess != NULL) &&
((Statement->QuestionFlags & EFI_IFR_FLAG_CALLBACK) == EFI_IFR_FLAG_CALLBACK) &&
(Statement->Operand != EFI_IFR_PASSWORD_OP)) {
@@ -1597,17 +1596,6 @@ SetupBrowser ( ProcessCallBackFunction(Selection, Statement, EFI_BROWSER_ACTION_CHANGED, FALSE);
}
}
-
- //
- // Check whether Form Package has been updated during Callback
- //
- if (mHiiPackageListUpdated && (Selection->Action == UI_ACTION_REFRESH_FORM)) {
- //
- // Force to reparse IFR binary of target Formset
- //
- mHiiPackageListUpdated = FALSE;
- Selection->Action = UI_ACTION_REFRESH_FORMSET;
- }
}
//
|