UINTN Pos;\r
UINTN Bit;\r
UINT16 NewValuePos;\r
+ UINT16 Index3; \r
UINT16 Index2;\r
UINT16 Index;\r
UINT8 *OldLegacyDev;\r
UINT8 *NewLegacyDev;\r
UINT8 *DisMap;\r
- EFI_FORM_ID FormId;\r
\r
if (Action != EFI_BROWSER_ACTION_CHANGING && Action != EFI_BROWSER_ACTION_CHANGED) { \r
//\r
//\r
// Update Select FD/HD/CD/NET/BEV Order Form\r
//\r
- if (FORM_SET_FD_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_HD_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_CD_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_NET_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_BEV_ORDER_ID == Private->BmmPreviousPageId ||\r
- ((FORM_BOOT_SETUP_ID == Private->BmmPreviousPageId) &&\r
- (QuestionId >= LEGACY_FD_QUESTION_ID) &&\r
- (QuestionId < (LEGACY_BEV_QUESTION_ID + 100)) )\r
- ) {\r
+ if ((QuestionId >= LEGACY_FD_QUESTION_ID) && (QuestionId < LEGACY_BEV_QUESTION_ID + MAX_MENU_NUMBER)) {\r
\r
DisMap = Private->BmmOldFakeNVData.DisableMap;\r
\r
- FormId = Private->BmmPreviousPageId;\r
- if (FormId == FORM_BOOT_SETUP_ID) {\r
- FormId = Private->BmmCurrentPageId;\r
- }\r
-\r
- switch (FormId) {\r
- case FORM_SET_FD_ORDER_ID:\r
+ if (QuestionId >= LEGACY_FD_QUESTION_ID && QuestionId < LEGACY_FD_QUESTION_ID + MAX_MENU_NUMBER) {\r
Number = (UINT16) LegacyFDMenu.MenuNumber;\r
OldLegacyDev = Private->BmmOldFakeNVData.LegacyFD;\r
NewLegacyDev = CurrentFakeNVMap->LegacyFD;\r
- break;\r
-\r
- case FORM_SET_HD_ORDER_ID:\r
+ } else if (QuestionId >= LEGACY_HD_QUESTION_ID && QuestionId < LEGACY_HD_QUESTION_ID + MAX_MENU_NUMBER) {\r
Number = (UINT16) LegacyHDMenu.MenuNumber;\r
OldLegacyDev = Private->BmmOldFakeNVData.LegacyHD;\r
NewLegacyDev = CurrentFakeNVMap->LegacyHD;\r
- break;\r
-\r
- case FORM_SET_CD_ORDER_ID:\r
+ } else if (QuestionId >= LEGACY_CD_QUESTION_ID && QuestionId < LEGACY_CD_QUESTION_ID + MAX_MENU_NUMBER) {\r
Number = (UINT16) LegacyCDMenu.MenuNumber;\r
OldLegacyDev = Private->BmmOldFakeNVData.LegacyCD;\r
NewLegacyDev = CurrentFakeNVMap->LegacyCD;\r
- break;\r
-\r
- case FORM_SET_NET_ORDER_ID:\r
+ } else if (QuestionId >= LEGACY_NET_QUESTION_ID && QuestionId < LEGACY_NET_QUESTION_ID + MAX_MENU_NUMBER) {\r
Number = (UINT16) LegacyNETMenu.MenuNumber;\r
OldLegacyDev = Private->BmmOldFakeNVData.LegacyNET;\r
NewLegacyDev = CurrentFakeNVMap->LegacyNET;\r
- break;\r
-\r
- case FORM_SET_BEV_ORDER_ID:\r
+ } else if (QuestionId >= LEGACY_BEV_QUESTION_ID && QuestionId < LEGACY_BEV_QUESTION_ID + MAX_MENU_NUMBER) {\r
Number = (UINT16) LegacyBEVMenu.MenuNumber;\r
OldLegacyDev = Private->BmmOldFakeNVData.LegacyBEV;\r
NewLegacyDev = CurrentFakeNVMap->LegacyBEV;\r
- break;\r
-\r
- default:\r
- break;\r
}\r
//\r
// First, find the different position\r
// To prevent DISABLE appears in the middle of the list\r
// we should perform a re-ordering\r
//\r
+ Index3 = Index;\r
Index = 0;\r
while (Index < Number) {\r
if (0xFF != NewLegacyDev[Index]) {\r
NewLegacyDev,\r
Number\r
);\r
+\r
+ //\r
+ // Return correct question value.\r
+ //\r
+ Value->u8 = NewLegacyDev[Index3];\r
}\r
}\r
\r