mirror of https://github.com/acidanthera/audk.git
Add support to original EFI_IFR_FORM_SET in initial UEFI2.1 spec. Now, it has been updated to new one in UEFI2.1D.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9905 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d10a41e634
commit
158bb28ae0
|
@ -294,18 +294,25 @@ ExtractDisplayedHiiFormFromHiiHandle (
|
||||||
OpCodeData = Package + Offset2;
|
OpCodeData = Package + Offset2;
|
||||||
|
|
||||||
if (((EFI_IFR_OP_HEADER *) OpCodeData)->OpCode == EFI_IFR_FORM_SET_OP) {
|
if (((EFI_IFR_OP_HEADER *) OpCodeData)->OpCode == EFI_IFR_FORM_SET_OP) {
|
||||||
//
|
if (((EFI_IFR_OP_HEADER *) OpCodeData)->Length > OFFSET_OF (EFI_IFR_FORM_SET, Flags)) {
|
||||||
// Find FormSet OpCode
|
//
|
||||||
//
|
// Find FormSet OpCode
|
||||||
ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags;
|
//
|
||||||
ClassGuid = (EFI_GUID *) (VOID *)(OpCodeData + sizeof (EFI_IFR_FORM_SET));
|
ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags;
|
||||||
while (ClassGuidNum-- > 0) {
|
ClassGuid = (EFI_GUID *) (VOID *)(OpCodeData + sizeof (EFI_IFR_FORM_SET));
|
||||||
if (CompareGuid (SetupClassGuid, ClassGuid)) {
|
while (ClassGuidNum-- > 0) {
|
||||||
CopyMem (FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID));
|
if (CompareGuid (SetupClassGuid, ClassGuid)) {
|
||||||
CopyMem (FormSetHelp, &((EFI_IFR_FORM_SET *) OpCodeData)->Help, sizeof (EFI_STRING_ID));
|
CopyMem (FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID));
|
||||||
FreePool (HiiPackageList);
|
CopyMem (FormSetHelp, &((EFI_IFR_FORM_SET *) OpCodeData)->Help, sizeof (EFI_STRING_ID));
|
||||||
return TRUE;
|
FreePool (HiiPackageList);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
CopyMem (FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID));
|
||||||
|
CopyMem (FormSetHelp, &((EFI_IFR_FORM_SET *) OpCodeData)->Help, sizeof (EFI_STRING_ID));
|
||||||
|
FreePool (HiiPackageList);
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue