Add new "Modal form" opcode, also add sample code to use it.

Signed-off-by: ydong10
Reviewed-by: lgao4







git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11764 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
ydong10
2011-06-08 07:27:39 +00:00
parent 26a65e5c80
commit b00964a999
7 changed files with 105 additions and 16 deletions

View File

@ -2835,6 +2835,7 @@ InitializeCurrentSetting (
FORMSET_STORAGE *StorageSrc;
FORMSET_STORAGE *OldStorage;
FORM_BROWSER_FORM *Form;
FORM_BROWSER_FORM *Form2;
EFI_STATUS Status;
//
@ -2896,6 +2897,29 @@ InitializeCurrentSetting (
Link = GetNextNode (&FormSet->StorageListHead, Link);
}
//
// If has old formset, get the old nv update status.
//
if (gOldFormSet != NULL) {
Link = GetFirstNode (&FormSet->FormListHead);
while (!IsNull (&FormSet->FormListHead, Link)) {
Form = FORM_BROWSER_FORM_FROM_LINK (Link);
Link2 = GetFirstNode (&gOldFormSet->FormListHead);
while (!IsNull (&gOldFormSet->FormListHead, Link2)) {
Form2 = FORM_BROWSER_FORM_FROM_LINK (Link2);
if (Form->FormId == Form2->FormId) {
Form->NvUpdateRequired = Form2->NvUpdateRequired;
break;
}
Link2 = GetNextNode (&gOldFormSet->FormListHead, Link2);
}
Link = GetNextNode (&FormSet->FormListHead, Link);
}
}
return EFI_SUCCESS;
}