summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorMing Tan <ming.tan@intel.com>2024-01-02 10:22:56 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-01-24 15:57:35 +0000
commit588cfc63d235b0b4c7ba8ebae2a7e3787e62b1e7 (patch)
tree4d6c06892da916803c90166ab9cb90d972e3d467 /MdeModulePkg
parent5694ff42d570a4aad190f668e1bc0eba6b644ff8 (diff)
downloadedk2-588cfc63d235b0b4c7ba8ebae2a7e3787e62b1e7.tar.gz
edk2-588cfc63d235b0b4c7ba8ebae2a7e3787e62b1e7.tar.bz2
edk2-588cfc63d235b0b4c7ba8ebae2a7e3787e62b1e7.zip
MdeModulePkg/SetupBrowserDxe: EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY
REF: UEFI_Spec_2_10_Aug29.pdf page 1695. In 35.5.4 EFI_HII_CONFIG_ACCESS_PROTOCOL.CallBack(): If the callback function returns with the ActionRequest set to _QUESTION_APPLY, then the Forms Browser will write the current modified question value on the selected form to storage. Update the SetupBrowserDxe, if callback function return EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY, then call SetQuestionValue with GetSetValueWithHiiDriver to apply the change immediately. Signed-off-by: Ming Tan <ming.tan@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
index babef21497..de7e79e8ab 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
@@ -2145,6 +2145,15 @@ ProcessCallBackFunction (
gCallbackReconnect = TRUE;
break;
+ case EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY:
+ Status = SetQuestionValue (
+ gCurrentSelection->FormSet,
+ gCurrentSelection->Form,
+ Statement,
+ GetSetValueWithHiiDriver
+ );
+ break;
+
default:
break;
}