summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>2012-11-15 08:13:23 +0000
committerydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>2012-11-15 08:13:23 +0000
commit54f8fc6d754a9481ab149f54334a4ea01913adb6 (patch)
tree83d3cad72961cca5af848903cc5d1fb6d9cf2323
parentabe4c4590b0a88fd97741462008131dc6f35c1a8 (diff)
downloadedk2-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.c30
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;
- }
}
//