]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
Clean ECP for build failure.
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / Package.c
index 0aa4773abe2b85af727b911eeb5d4873a80613f4..3187a941601a826e4d0ffcc5d93fdec422a74100 100644 (file)
@@ -22,6 +22,9 @@ BOOLEAN mInFrameworkHiiRemovePack = FALSE;
 BOOLEAN mInFrameworkUpdatePakcage = FALSE;\r
 UINT64  mGuidCount = 0;\r
 \r
+EFI_GUID mGuidBase = { 0x14f95e01, 0xd562, 0x432e, { 0x84, 0x4a, 0x95, 0xa4, 0x39, 0x5, 0x10, 0x7e }};\r
+\r
+\r
 \r
 /**\r
   Get the number of package IFR and STRING packages in the package list passed in.\r
@@ -112,7 +115,7 @@ UpdatePackListWithOnlyIfrPack (
 {\r
   EFI_STATUS                 Status;\r
   LIST_ENTRY                 *Link;\r
-  HII_THUNK_CONTEXT *ThunkContext;\r
+  HII_THUNK_CONTEXT          *ThunkContext;\r
 \r
   Link = GetFirstNode (&Private->ThunkContextListHead);\r
   while (!IsNull (&Private->ThunkContextListHead, Link)) {\r
@@ -136,13 +139,16 @@ UpdatePackListWithOnlyIfrPack (
                                               StringPackageListHeader\r
                                               );\r
         ASSERT_EFI_ERROR (Status);\r
-        \r
+\r
+        ThunkContext->SharingStringPack = TRUE;\r
+        StringPackageThunkContext->SharingStringPack = TRUE;\r
+\r
       }\r
     }\r
     \r
     Link = GetNextNode (&Private->ThunkContextListHead, Link);\r
   }\r
-  \r
+\r
 }\r
 \r
 /**\r
@@ -354,9 +360,7 @@ GenerateRandomGuid (
   OUT           EFI_GUID * Guid\r
   )\r
 {\r
-  EFI_GUID        GuidBase = { 0x14f95e01, 0xd562, 0x432e, { 0x84, 0x4a, 0x95, 0xa4, 0x39, 0x5, 0x10, 0x7e }};\r
-\r
-  CopyGuid (Guid, &GuidBase);\r
+  CopyGuid (Guid, &mGuidBase);\r
 \r
   mGuidCount++;  \r
   *((UINT64 *) Guid) = *((UINT64 *) Guid) + mGuidCount;\r
@@ -387,8 +391,7 @@ FindStringPackAndUpdatePackListWithOnlyIfrPack (
   LIST_ENTRY                      *Link;\r
   EFI_HII_PACKAGE_LIST_HEADER     *StringPackageListHeader;\r
   UINTN                           Size;\r
-  HII_THUNK_CONTEXT                *ThunkContext;\r
-\r
+  HII_THUNK_CONTEXT               *ThunkContext;\r
   \r
   Link = GetFirstNode (&Private->ThunkContextListHead);\r
 \r
@@ -413,6 +416,10 @@ FindStringPackAndUpdatePackListWithOnlyIfrPack (
         ASSERT_EFI_ERROR (Status);\r
         \r
         FreePool (StringPackageListHeader);\r
+\r
+        IfrThunkContext->SharingStringPack = TRUE;\r
+        ThunkContext->SharingStringPack = TRUE;\r
+        \r
         return EFI_SUCCESS;\r
 \r
       }\r
@@ -421,6 +428,11 @@ FindStringPackAndUpdatePackListWithOnlyIfrPack (
     Link = GetNextNode (&Private->ThunkContextListHead, Link);\r
   }\r
 \r
+  //\r
+  // A Form Package must have a String Package to function.\r
+  // If ASSERT here, check the sequence of call to Hii->NewPack. \r
+  // String Pack must be registered before Ifr Package is registered.\r
+  //\r
   ASSERT (FALSE);\r
   return EFI_NOT_FOUND;\r
   \r