From 3dde743f62960c866737e8d96f05eb298d4aeca1 Mon Sep 17 00:00:00 2001 From: xdu2 Date: Mon, 26 Oct 2009 03:04:08 +0000 Subject: [PATCH] Update FormBrowser to conform to UEFI spec Table 197. Callback Behavior for Cross-Reference: "CHANGING: If EFI_UNSUPPORTED or EFI_SUCCESS, cross-reference is taken. Any other error the cross-reference will not be taken." git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9361 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c index bb9514c315..fc8bae2317 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c @@ -982,6 +982,17 @@ SetupBrowser ( default: break; } + } else if (Status != EFI_UNSUPPORTED) { + // + // Callback return error status other than EFI_UNSUPPORTED + // + if (Statement->Operand == EFI_IFR_REF_OP) { + // + // Cross reference will not be taken + // + Selection->FormId = Selection->Form->FormId; + Selection->QuestionId = 0; + } } }