Merged in the following trackers from EDK:
EDK1145 Cursor mising in shell in some case EDK1099: Dell - [HII] HiiGetFontInfo() not retrieve the system font by FoFontInfoMask EDK1127: [UEFI 2.10] Keyboard layout support EDK1129: [UEFI HII] GUID is represented wrongly in Config String And some other fixes such as *[UEFI HII] HiiGetAltCfg is generating "Name=" sub string in the wrong format *UEFI HII: GetUnicodeStringTextOrSize() doesn't handle NULL StringDest properly *GetFontInfo() need be updated to avoid iteration *HIIStringProtocolTest failed on multiple platform *[Uefi 2.1] Comply with latest Hii ECR * GetFontInfo() need be updated to avoid iteration git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5361 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2007, Intel Corporation
|
||||
Copyright (c) 2007 - 2008, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -2771,8 +2771,7 @@ HiiNewPackageList (
|
||||
|
||||
@retval EFI_SUCCESS The data associated with the Handle was removed
|
||||
from the HII database.
|
||||
@retval EFI_NOT_FOUND The specified PackageList could not be found in
|
||||
database.
|
||||
@retval EFI_NOT_FOUND The specified andle is not in database.
|
||||
@retval EFI_INVALID_PARAMETER The Handle was not valid.
|
||||
|
||||
**/
|
||||
@@ -2790,10 +2789,14 @@ HiiRemovePackageList (
|
||||
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageList;
|
||||
HII_HANDLE *HiiHandle;
|
||||
|
||||
if (This == NULL || !IsHiiHandleValid (Handle)) {
|
||||
if (This == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (!IsHiiHandleValid (Handle)) {
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
//
|
||||
@@ -2879,9 +2882,8 @@ HiiRemovePackageList (
|
||||
@retval EFI_SUCCESS The HII database was successfully updated.
|
||||
@retval EFI_OUT_OF_RESOURCES Unable to allocate enough memory for the updated
|
||||
database.
|
||||
@retval EFI_INVALID_PARAMETER Handle or PackageList was NULL.
|
||||
@retval EFI_NOT_FOUND The Handle was not valid or could not be found in
|
||||
database.
|
||||
@retval EFI_INVALID_PARAMETER PackageList was NULL.
|
||||
@retval EFI_NOT_FOUND The specified Handle is not in database.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -2900,7 +2902,7 @@ HiiUpdatePackageList (
|
||||
HII_DATABASE_PACKAGE_LIST_INSTANCE *OldPackageList;
|
||||
EFI_HII_PACKAGE_HEADER PackageHeader;
|
||||
|
||||
if (This == NULL || PackageList == NULL || Handle == NULL) {
|
||||
if (This == NULL || PackageList == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@@ -2993,12 +2995,17 @@ HiiUpdatePackageList (
|
||||
@param Handle An array of EFI_HII_HANDLE instances returned.
|
||||
|
||||
@retval EFI_SUCCESS The matching handles are outputed successfully.
|
||||
HandleBufferLength is updated with the actual length.
|
||||
@retval EFI_BUFFER_TO_SMALL The HandleBufferLength parameter indicates that
|
||||
Handle is too small to support the number of
|
||||
handles. HandleBufferLength is updated with a
|
||||
value that will enable the data to fit.
|
||||
@retval EFI_NOT_FOUND No matching handle could not be found in database.
|
||||
@retval EFI_INVALID_PARAMETER Handle or HandleBufferLength was NULL.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER PackageType is not a EFI_HII_PACKAGE_TYPE_GUID but
|
||||
PackageGuid is not NULL, PackageType is a EFI_HII_
|
||||
PACKAGE_TYPE_GUID but PackageGuid is NULL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
@@ -3350,10 +3357,14 @@ HiiUnregisterPackageNotify (
|
||||
LIST_ENTRY *Link;
|
||||
EFI_STATUS Status;
|
||||
|
||||
if (This == NULL || NotificationHandle == NULL) {
|
||||
if (This == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (NotificationHandle == NULL) {
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
Status = gBS->OpenProtocol (
|
||||
NotificationHandle,
|
||||
&mHiiDatabaseNotifyGuid,
|
||||
@@ -3363,7 +3374,7 @@ HiiUnregisterPackageNotify (
|
||||
EFI_OPEN_PROTOCOL_TEST_PROTOCOL
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
Private = HII_DATABASE_DATABASE_PRIVATE_DATA_FROM_THIS (This);
|
||||
@@ -3474,7 +3485,7 @@ HiiFindKeyboardLayouts (
|
||||
for (Index = 0; Index < LayoutCount; Index++) {
|
||||
ResultSize += sizeof (EFI_GUID);
|
||||
if (ResultSize <= *KeyGuidBufferLength) {
|
||||
CopyMem (KeyGuidBuffer + Index, Layout + sizeof (UINT16), sizeof (EFI_GUID));
|
||||
CopyMem (KeyGuidBuffer + (ResultSize / sizeof (EFI_GUID) - 1), Layout + sizeof (UINT16), sizeof (EFI_GUID));
|
||||
CopyMem (&LayoutLength, Layout, sizeof (UINT16));
|
||||
Layout = Layout + LayoutLength;
|
||||
}
|
||||
|
Reference in New Issue
Block a user