From 32e9da0c40cef1bc9a8e7701af0ae513a0e1b3fb Mon Sep 17 00:00:00 2001 From: lgao4 Date: Thu, 4 Feb 2010 09:35:42 +0000 Subject: [PATCH] Fix the bug that the wrong classguid is compared. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9930 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/BdsDxe/DeviceMngr/DeviceManager.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c index 7dbbe85ce8..30be2b59b5 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c @@ -298,7 +298,7 @@ ExtractDisplayedHiiFormFromHiiHandle ( // // Find FormSet OpCode // - ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags; + ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags & 0x3; ClassGuid = (EFI_GUID *) (VOID *)(OpCodeData + sizeof (EFI_IFR_FORM_SET)); while (ClassGuidNum-- > 0) { if (CompareGuid (SetupClassGuid, ClassGuid)) { @@ -307,6 +307,7 @@ ExtractDisplayedHiiFormFromHiiHandle ( FreePool (HiiPackageList); return TRUE; } + ClassGuid ++; } } else { CopyMem (FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID)); -- 2.39.2