Per UEFI spec, FORM_OPEN/FORM_CLOSE Callback function should be called for each question in the form when this form opens or closes.
Update SetupBrowser driver to call Callback function (FORM_OPEN/FORM_CLOSE) based on UEFI spec, and update all EDKII HII drivers to correctly handle FORM_OPEN and FORM_CLOSE call back. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10560 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -562,6 +562,13 @@ IScsiFormCallback (
|
||||
EFI_STATUS Status;
|
||||
EFI_INPUT_KEY Key;
|
||||
|
||||
if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {
|
||||
//
|
||||
// Do nothing for UEFI OPEN/CLOSE Action
|
||||
//
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
Private = ISCSI_FORM_CALLBACK_INFO_FROM_FORM_CALLBACK (This);
|
||||
|
||||
//
|
||||
|
@@ -670,6 +670,13 @@ Ip4FormCallback (
|
||||
EFI_STATUS Status;
|
||||
EFI_INPUT_KEY Key;
|
||||
|
||||
if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {
|
||||
//
|
||||
// Do nothing for UEFI OPEN/CLOSE Action
|
||||
//
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
|
||||
|
||||
IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
|
||||
|
@@ -237,11 +237,20 @@ VlanCallback (
|
||||
PrivateData = VLAN_CONFIG_PRIVATE_DATA_FROM_THIS (This);
|
||||
|
||||
if (Action == EFI_BROWSER_ACTION_FORM_OPEN) {
|
||||
//
|
||||
// On FORM_OPEN event, update current VLAN list
|
||||
//
|
||||
VlanUpdateForm (PrivateData);
|
||||
if (QuestionId == VLAN_ADD_QUESTION_ID) {
|
||||
//
|
||||
// Update current VLAN list into Form when Form is opened.
|
||||
// This will be done only in FORM_OPEN CallBack of question with VLAN_ADD_QUESTION_ID.
|
||||
//
|
||||
VlanUpdateForm (PrivateData);
|
||||
}
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
if (Action == EFI_BROWSER_ACTION_FORM_CLOSE) {
|
||||
//
|
||||
// Do nothing for UEFI FORM_CLOSE action
|
||||
//
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user