1. Fix an issue about the calculation of GlyphBufferSize
2. Fix a bug in handling the overlapped case by reverse-copying the destine region & source region 3. Fix an issue that the leading spaces could not be displayed in highlight mode git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2410 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
Copyright (c) 2006 - 2007, 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
|
||||
@@ -1295,7 +1295,6 @@ UpdateOptionSkipLines (
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINTN Loop;
|
||||
UINT16 Width;
|
||||
UINTN Row;
|
||||
UINTN OriginalRow;
|
||||
@@ -1309,19 +1308,6 @@ UpdateOptionSkipLines (
|
||||
ProcessOptions (MenuOption, FALSE, FileFormTagsHead, PageData, &OptionString);
|
||||
|
||||
if (OptionString != NULL) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++)
|
||||
;
|
||||
|
||||
for (Loop = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Loop] = OptionString[Index];
|
||||
Loop++;
|
||||
}
|
||||
|
||||
OptionString[Loop] = CHAR_NULL;
|
||||
|
||||
Width = (UINT16) gOptionBlockWidth;
|
||||
|
||||
OriginalRow = Row;
|
||||
@@ -1623,19 +1609,23 @@ Returns:
|
||||
ProcessOptions (MenuOption, FALSE, FileFormTagsHead, PageData, &OptionString);
|
||||
|
||||
if (OptionString != NULL) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++) {
|
||||
MenuOption->OptCol++;
|
||||
}
|
||||
if (MenuOption->ThisTag->Operand == EFI_IFR_DATE_OP ||
|
||||
MenuOption->ThisTag->Operand == EFI_IFR_TIME_OP
|
||||
) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++) {
|
||||
MenuOption->OptCol++;
|
||||
}
|
||||
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
}
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
}
|
||||
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
}
|
||||
|
||||
//
|
||||
// If this is a date or time op-code and is used to reflect an RTC, register the op-code
|
||||
@@ -1835,19 +1825,23 @@ Returns:
|
||||
ProcessOptions (MenuOption, FALSE, FileFormTagsHead, PageData, &OptionString);
|
||||
gST->ConOut->SetAttribute (gST->ConOut, FIELD_TEXT | FIELD_BACKGROUND);
|
||||
if (OptionString != NULL) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++)
|
||||
;
|
||||
if (MenuOption->ThisTag->Operand == EFI_IFR_DATE_OP ||
|
||||
MenuOption->ThisTag->Operand == EFI_IFR_TIME_OP
|
||||
) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++)
|
||||
;
|
||||
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
}
|
||||
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
}
|
||||
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
|
||||
Width = (UINT16) gOptionBlockWidth;
|
||||
|
||||
OriginalRow = MenuOption->Row;
|
||||
@@ -1953,19 +1947,22 @@ Returns:
|
||||
if (SubMenu) {
|
||||
ProcessOptions (MenuOption, FALSE, FileFormTagsHead, PageData, &OptionString);
|
||||
if (OptionString != NULL) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++)
|
||||
;
|
||||
if (MenuOption->ThisTag->Operand == EFI_IFR_DATE_OP ||
|
||||
MenuOption->ThisTag->Operand == EFI_IFR_TIME_OP
|
||||
) {
|
||||
//
|
||||
// If leading spaces on OptionString - remove the spaces
|
||||
//
|
||||
for (Index = 0; OptionString[Index] == L' '; Index++)
|
||||
;
|
||||
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
for (Count = 0; OptionString[Index] != CHAR_NULL; Index++) {
|
||||
OptionString[Count] = OptionString[Index];
|
||||
Count++;
|
||||
}
|
||||
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
}
|
||||
|
||||
OptionString[Count] = CHAR_NULL;
|
||||
|
||||
Width = (UINT16) gOptionBlockWidth;
|
||||
|
||||
OriginalRow = MenuOption->Row;
|
||||
|
Reference in New Issue
Block a user