Fix the bug that the wrong classguid is compared.
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 4 Feb 2010 09:35:42 +0000 (09:35 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 4 Feb 2010 09:35:42 +0000 (09:35 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk@9930 6f19259b-4bc3-4df7-8a09-765794883524

edk2/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c

index 7dbbe85..30be2b5 100644 (file)
@@ -298,7 +298,7 @@ ExtractDisplayedHiiFormFromHiiHandle (
             //\r
             // Find FormSet OpCode\r
             //\r
-            ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags;\r
+            ClassGuidNum = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags & 0x3;\r
             ClassGuid = (EFI_GUID *) (VOID *)(OpCodeData + sizeof (EFI_IFR_FORM_SET));\r
             while (ClassGuidNum-- > 0) {\r
               if (CompareGuid (SetupClassGuid, ClassGuid)) {\r
@@ -307,6 +307,7 @@ ExtractDisplayedHiiFormFromHiiHandle (
                 FreePool (HiiPackageList);\r
                 return TRUE;\r
               }\r
+              ClassGuid ++;\r
             }\r
            } else {\r
              CopyMem (FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID));\r