]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Keep the highlight field after user changes the value for time/date opcode
authorydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 5 Jul 2011 08:20:43 +0000 (08:20 +0000)
committerydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 5 Jul 2011 08:20:43 +0000 (08:20 +0000)
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

MdeModulePkg/Universal/SetupBrowserDxe/Ui.c
MdeModulePkg/Universal/SetupBrowserDxe/Ui.h

index 4f814990bb0f585034883c38fced8f59e6eaaff3..5c8d676186128224c23b03302c0b7536d0f77167 100644 (file)
@@ -1946,6 +1946,7 @@ UiDisplayMenu (
     // Highlight not specified, fetch it from cached menu\r
     //\r
     Selection->QuestionId = CurrentMenu->QuestionId;\r
+    Selection->Sequence   = CurrentMenu->Sequence;\r
   }\r
 \r
   //\r
@@ -2317,7 +2318,9 @@ UiDisplayMenu (
         NewPos = gMenuOption.ForwardLink;\r
         SavedMenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
 \r
-        while (SavedMenuOption->ThisTag->QuestionId != Selection->QuestionId && NewPos->ForwardLink != &gMenuOption) {\r
+        while ((SavedMenuOption->ThisTag->QuestionId != Selection->QuestionId ||\r
+                SavedMenuOption->Sequence != Selection->Sequence) &&\r
+                NewPos->ForwardLink != &gMenuOption) {\r
           NewPos     = NewPos->ForwardLink;\r
           SavedMenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
         }\r
@@ -2453,6 +2456,7 @@ UiDisplayMenu (
         // Record highlight for current menu\r
         //\r
         CurrentMenu->QuestionId = Statement->QuestionId;\r
+        CurrentMenu->Sequence   = MenuOption->Sequence;\r
 \r
         //\r
         // Set reverse attribute\r
index 181b9a43dcbb2bdc30896b04b2eba6dfbd58754d..0acec825cfebb60ca2c844b892623cdc583865b9 100644 (file)
@@ -87,6 +87,7 @@ typedef struct {
   EFI_GUID        FormSetGuid;\r
   UINT16          FormId;\r
   UINT16          QuestionId;\r
+  UINTN           Sequence;  // used for time/date only.\r
 \r
   UINTN           TopRow;\r
   UINTN           BottomRow;\r
@@ -163,6 +164,7 @@ struct _UI_MENU_LIST {
   EFI_GUID        FormSetGuid;\r
   UINT16          FormId;\r
   UINT16          QuestionId;\r
+  UINTN           Sequence;    // used for time/date only.\r
 \r
   UI_MENU_LIST    *Parent;\r
   LIST_ENTRY      ChildListHead;\r