diff options
Diffstat (limited to 'MdeModulePkg')
-rw-r--r-- | MdeModulePkg/Universal/SetupBrowserDxe/Ui.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c b/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c index ebe8fae2cc..ca2ec3b169 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Ui.c @@ -2876,6 +2876,11 @@ UiDisplayMenu ( switch (Key.UnicodeChar) {
case CHAR_CARRIAGE_RETURN:
+ if(MenuOption->GrayOut || MenuOption->ReadOnly) {
+ ControlFlag = CfReadKey;
+ break;
+ }
+
ScreenOperation = UiSelect;
gDirection = 0;
break;
@@ -2890,7 +2895,7 @@ UiDisplayMenu ( // If the screen has no menu items, and the user didn't select UiReset
// ignore the selection and go back to reading keys.
//
- if(IsListEmpty (&gMenuOption)) {
+ if(IsListEmpty (&gMenuOption) || MenuOption->GrayOut || MenuOption->ReadOnly) {
ControlFlag = CfReadKey;
break;
}
@@ -2943,7 +2948,7 @@ UiDisplayMenu ( }
ASSERT(MenuOption != NULL);
- if (MenuOption->ThisTag->Operand == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut) {
+ if (MenuOption->ThisTag->Operand == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut && !MenuOption->ReadOnly) {
ScreenOperation = UiSelect;
}
}
|