X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FSetupBrowserDxe%2FSetup.c;h=dbf6a79b8cffd62312a0384edfddb948fb0f5bfc;hb=b00964a9992deedb135ff24d1b9618c97f93687c;hp=0eaa78321fae30a32c02f6404fe4ae62b1e882ea;hpb=26a65e5c8075106b00b03fea3abd4f1690abcdf1;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c index 0eaa78321f..dbf6a79b8c 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c @@ -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; }