Merged in the bug fixes from EDK I.
*** Press F9 in Uefi64 FrontPage shouldnot enter sub-menu ** [FT] Some UI error on multiple platforms on framework_20080811 ** [FT] UI test of How tall are you(Hex) on framework_20080811 To improve backward compatibility, add gEfiPrint2ProtocolGuid and rename gEfiPrintProtocolGuid to the previous GUID value used in EDK I. gEfiPrint2ProtocolGuid is a enhanced version of gEfiPrintProtocolGuid. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5768 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -597,6 +597,7 @@ InitializeBrowserStrings (
|
||||
gPlusString = GetToken (STRING_TOKEN (PLUS_STRING), gHiiHandle);
|
||||
gMinusString = GetToken (STRING_TOKEN (MINUS_STRING), gHiiHandle);
|
||||
gAdjustNumber = GetToken (STRING_TOKEN (ADJUST_NUMBER), gHiiHandle);
|
||||
gSaveChanges = GetToken (STRING_TOKEN (SAVE_CHANGES), gHiiHandle);
|
||||
return ;
|
||||
}
|
||||
|
||||
@@ -637,6 +638,7 @@ FreeBrowserStrings (
|
||||
SafeFreePool (gPlusString);
|
||||
SafeFreePool (gMinusString);
|
||||
SafeFreePool (gAdjustNumber);
|
||||
SafeFreePool (gSaveChanges);
|
||||
return ;
|
||||
}
|
||||
|
||||
@@ -857,6 +859,9 @@ SetupBrowser (
|
||||
EFI_HII_VALUE *HiiValue;
|
||||
FORM_BROWSER_STATEMENT *Statement;
|
||||
EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
|
||||
EFI_INPUT_KEY Key;
|
||||
CHAR16 YesResponse;
|
||||
CHAR16 NoResponse;
|
||||
|
||||
gMenuRefreshHead = NULL;
|
||||
gResetRequired = FALSE;
|
||||
@@ -990,6 +995,32 @@ SetupBrowser (
|
||||
// Force to reparse IFR binary of target Formset
|
||||
//
|
||||
Selection->Action = UI_ACTION_REFRESH_FORMSET;
|
||||
|
||||
//
|
||||
// Uncommitted data will be lost after IFR binary re-pasing, so confirm on whether to save
|
||||
//
|
||||
if (gNvUpdateRequired) {
|
||||
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
|
||||
|
||||
YesResponse = gYesResponse[0];
|
||||
NoResponse = gNoResponse[0];
|
||||
|
||||
do {
|
||||
CreateDialog (3, TRUE, 0, NULL, &Key, gEmptyString, gSaveChanges, gEmptyString);
|
||||
} while
|
||||
(
|
||||
(Key.ScanCode != SCAN_ESC) &&
|
||||
((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) != (NoResponse | UPPER_LOWER_CASE_OFFSET)) &&
|
||||
((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) != (YesResponse | UPPER_LOWER_CASE_OFFSET))
|
||||
);
|
||||
|
||||
if ((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) == (YesResponse | UPPER_LOWER_CASE_OFFSET)) {
|
||||
//
|
||||
// If the user hits the YesResponse key
|
||||
//
|
||||
SubmitForm (Selection->FormSet, Selection->Form);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} while (Selection->Action == UI_ACTION_REFRESH_FORM);
|
||||
|
Reference in New Issue
Block a user