mirror of https://github.com/acidanthera/audk.git
Save the type of OneOf question.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5769 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ebe43565f9
commit
59e87364cc
|
@ -328,6 +328,13 @@ CreateQuestionIdMap (
|
|||
ONE_OF_OPTION_MAP_ENTRY *OneOfOptionMapEntry;
|
||||
EFI_IFR_GUID_CLASS *Class;
|
||||
EFI_IFR_GUID_SUBCLASS *SubClass;
|
||||
UINT8 OneOfType;
|
||||
EFI_IFR_ONE_OF *OneOfOpcode;
|
||||
|
||||
//
|
||||
// Set to a invalid value.
|
||||
//
|
||||
OneOfType = (UINT8) -1;
|
||||
|
||||
|
||||
Status = HiiLibExportPackageLists (ThunkContext->UefiHiiHandle, &List, &Size);
|
||||
|
@ -402,6 +409,11 @@ CreateQuestionIdMap (
|
|||
InsertTailList (QuestionIdMapEntryListHead, &IdMapEntry->Link);
|
||||
}
|
||||
|
||||
if (OpCode->OpCode == EFI_IFR_ONE_OF_OP) {
|
||||
OneOfOpcode = (EFI_IFR_ONE_OF *) OpCode;
|
||||
OneOfType = OneOfOpcode->Flags & EFI_IFR_NUMERIC_SIZE;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case EFI_IFR_GUID_OP:
|
||||
|
@ -415,7 +427,12 @@ CreateQuestionIdMap (
|
|||
|
||||
OneOfOptionMap->Signature = ONE_OF_OPTION_MAP_SIGNATURE;
|
||||
OneOfOptionMap->QuestionId = OptionMap->QuestionId;
|
||||
OneOfOptionMap->ValueType = EFI_IFR_TYPE_NUM_SIZE_8;
|
||||
|
||||
//
|
||||
// Make sure OneOfType is initialized.
|
||||
//
|
||||
ASSERT (OneOfType != (UINT8) -1);
|
||||
OneOfOptionMap->ValueType = OneOfType;
|
||||
InitializeListHead (&OneOfOptionMap->OneOfOptionMapEntryListHead);
|
||||
OneOfOptinMapEntryListHead = &OneOfOptionMap->OneOfOptionMapEntryListHead;
|
||||
InsertTailList (&ThunkContext->OneOfOptionMapListHead, &OneOfOptionMap->Link);
|
||||
|
|
Loading…
Reference in New Issue