}\r
};\r
\r
-UINTN mScanCodeNumber = sizeof (gScanCodeToOperation) / sizeof (gScanCodeToOperation[0]);\r
+UINTN mScanCodeNumber = ARRAY_SIZE (gScanCodeToOperation);\r
\r
SCREEN_OPERATION_T0_CONTROL_FLAG gScreenOperationToControlFlag[] = {\r
{\r
CHAR16 *gConfirmOptNo;\r
CHAR16 *gConfirmMsgConnect;\r
CHAR16 *gConfirmMsgEnd;\r
+CHAR16 *gPasswordUnsupported;\r
CHAR16 gModalSkipColumn;\r
CHAR16 gPromptBlockWidth;\r
CHAR16 gOptionBlockWidth;\r
gConfirmOptNo = GetToken (STRING_TOKEN (CONFIRM_OPTION_NO), gHiiHandle);\r
gConfirmMsgConnect = GetToken (STRING_TOKEN (CONFIRM_OPTION_CONNECT), gHiiHandle);\r
gConfirmMsgEnd = GetToken (STRING_TOKEN (CONFIRM_OPTION_END), gHiiHandle);\r
+ gPasswordUnsupported = GetToken (STRING_TOKEN (PASSWORD_NOT_SUPPORTED ), gHiiHandle);\r
}\r
\r
/**\r
FreePool (gConfirmOptNo);\r
FreePool (gConfirmMsgConnect);\r
FreePool (gConfirmMsgEnd);\r
+ FreePool (gPasswordUnsupported);\r
}\r
\r
/**\r
UpdateOptionSkipLines (NextMenuOption);\r
}\r
\r
- if (IsSelectable (NextMenuOption)) {\r
- break;\r
- }\r
-\r
//\r
- // In this case, still can't find the selectable menu,\r
+ // Check whether the menu is beyond current showing form,\r
// return the first one beyond the showing form.\r
//\r
if ((UINTN) Distance + NextMenuOption->Skip > GapToTop) {\r
break;\r
}\r
\r
+ //\r
+ // return the selectable menu in the showing form.\r
+ //\r
+ if (IsSelectable (NextMenuOption)) {\r
+ break;\r
+ }\r
+\r
Distance += NextMenuOption->Skip;\r
\r
//\r
}\r
} else {\r
//\r
- // Last time highlight menu has disappear, find the first highlightable menu as the defalut one.\r
+ // Last time highlight menu has disappear, find the first highlightable menu as the default one.\r
//\r
*HighlightMenu = gMenuOption.ForwardLink;\r
if (!IsListEmpty (&gMenuOption)) {\r
}\r
\r
for (Index = 0;\r
- Index < sizeof (gScreenOperationToControlFlag) / sizeof (gScreenOperationToControlFlag[0]);\r
+ Index < ARRAY_SIZE (gScreenOperationToControlFlag);\r
Index++\r
) {\r
if (ScreenOperation == gScreenOperationToControlFlag[Index].ScreenOperation) {\r