diff options
author | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-09-05 07:01:47 +0000 |
---|---|---|
committer | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-09-05 07:01:47 +0000 |
commit | f38360fbf069864238338ccc456aff7989074df0 (patch) | |
tree | 1b0700bd05eafbf7e00a7ef54aed8d6508e77b9e /EdkCompatibilityPkg/Compatibility | |
parent | f1b420aa4e11e3259f1f740e3c51b59ac5e2e8ac (diff) | |
download | edk2-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
Diffstat (limited to 'EdkCompatibilityPkg/Compatibility')
-rw-r--r-- | EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c | 31 |
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;
}
|