summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorxdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524>2009-10-26 03:04:08 +0000
committerxdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524>2009-10-26 03:04:08 +0000
commit3dde743f62960c866737e8d96f05eb298d4aeca1 (patch)
tree2d622e55ae3bd3e15e575d0aa59b982931b943cb /MdeModulePkg
parentd02847d3c09bd897934e71d54921e9a2c5baf596 (diff)
downloadedk2-3dde743f62960c866737e8d96f05eb298d4aeca1.zip
edk2-3dde743f62960c866737e8d96f05eb298d4aeca1.tar.gz
edk2-3dde743f62960c866737e8d96f05eb298d4aeca1.tar.bz2
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
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
index bb9514c..fc8bae2 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;
+ }
}
}