summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-05 07:01:47 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-09-05 07:01:47 +0000
commitf38360fbf069864238338ccc456aff7989074df0 (patch)
tree1b0700bd05eafbf7e00a7ef54aed8d6508e77b9e
parentf1b420aa4e11e3259f1f740e3c51b59ac5e2e8ac (diff)
downloadedk2-platforms-f38360fbf069864238338ccc456aff7989074df0.tar.xz
Add in a temp fix to make UEFI HII SCT can pass with platform built with FrameworkHiiToUefiHiiThunk module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5829 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
index a5bf876e25..b3e9bdd9be 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
@@ -578,22 +578,29 @@ RemovePackNotify (
ThunkContext = UefiHiiHandleToThunkContext (Private, Handle);
- if (!ThunkContext->ByFrameworkHiiNewPack) {
- Status = HiiLibExportPackageLists (Handle, &HiiPackageList, &BufferSize);
- ASSERT_EFI_ERROR (Status);
+ //
+ // BugBug: Change to ASSERT if HII Database fix the bug and to also invoke
+ // NEW_PACK_NOTIFY for package (String Package) created internally.
+ //
+ if (ThunkContext != NULL) {
+ if (!ThunkContext->ByFrameworkHiiNewPack) {
+ Status = HiiLibExportPackageLists (Handle, &HiiPackageList, &BufferSize);
+ ASSERT_EFI_ERROR (Status);
- if (GetPackageCountByType (HiiPackageList, EFI_HII_PACKAGE_STRINGS) == 1) {
- //
- // If the string package will be removed is the last string package
- // in the package list, we will remove the HII Thunk entry from the
- // database.
- //
- DestroyThunkContextForUefiHiiHandle (Private, Handle);
- }
+ if (GetPackageCountByType (HiiPackageList, EFI_HII_PACKAGE_STRINGS) == 1) {
+ //
+ // If the string package will be removed is the last string package
+ // in the package list, we will remove the HII Thunk entry from the
+ // database.
+ //
+ DestroyThunkContextForUefiHiiHandle (Private, Handle);
+ }
- FreePool (HiiPackageList);
+ FreePool (HiiPackageList);
+ }
}
+
return Status;
}