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:
qwang12 2008-09-02 01:25:55 +00:00
parent ebe43565f9
commit 59e87364cc
1 changed files with 18 additions and 1 deletions

View File

@ -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);