Keep the highlight field after user changes the value for time/date opcode

Signed-off-by:ydong10
Reviewed-by:lgao4







git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11975 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
ydong10 2011-07-05 08:20:43 +00:00
parent 889a4bc2a9
commit d88ca2c90d
2 changed files with 7 additions and 1 deletions

View File

@ -1946,6 +1946,7 @@ UiDisplayMenu (
// Highlight not specified, fetch it from cached menu
//
Selection->QuestionId = CurrentMenu->QuestionId;
Selection->Sequence = CurrentMenu->Sequence;
}
//
@ -2317,7 +2318,9 @@ UiDisplayMenu (
NewPos = gMenuOption.ForwardLink;
SavedMenuOption = MENU_OPTION_FROM_LINK (NewPos);
while (SavedMenuOption->ThisTag->QuestionId != Selection->QuestionId && NewPos->ForwardLink != &gMenuOption) {
while ((SavedMenuOption->ThisTag->QuestionId != Selection->QuestionId ||
SavedMenuOption->Sequence != Selection->Sequence) &&
NewPos->ForwardLink != &gMenuOption) {
NewPos = NewPos->ForwardLink;
SavedMenuOption = MENU_OPTION_FROM_LINK (NewPos);
}
@ -2453,6 +2456,7 @@ UiDisplayMenu (
// Record highlight for current menu
//
CurrentMenu->QuestionId = Statement->QuestionId;
CurrentMenu->Sequence = MenuOption->Sequence;
//
// Set reverse attribute

View File

@ -87,6 +87,7 @@ typedef struct {
EFI_GUID FormSetGuid;
UINT16 FormId;
UINT16 QuestionId;
UINTN Sequence; // used for time/date only.
UINTN TopRow;
UINTN BottomRow;
@ -163,6 +164,7 @@ struct _UI_MENU_LIST {
EFI_GUID FormSetGuid;
UINT16 FormId;
UINT16 QuestionId;
UINTN Sequence; // used for time/date only.
UI_MENU_LIST *Parent;
LIST_ENTRY ChildListHead;