From: Eric Dong Date: Tue, 21 Oct 2014 05:50:06 +0000 (+0000) Subject: Check the question value before call CHANGED. Only when question value has been chang... X-Git-Tag: edk2-stable201903~10788 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=ca2be854872373f18fc1cdf5277973fcd9179e7a;p=mirror_edk2.git Check the question value before call CHANGED. Only when question value has been changed, browser will call CHANGED callback type. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16222 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c index f0617f81b3..bfb8afc140 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c @@ -2426,7 +2426,12 @@ SetupBrowser ( // IsQuestionValueChanged(gCurrentSelection->FormSet, gCurrentSelection->Form, Statement, GetSetValueWithBuffer); - if (!EFI_ERROR (Status) && Statement->Operand != EFI_IFR_REF_OP) { + if (!EFI_ERROR (Status) && + (Statement->Operand != EFI_IFR_REF_OP) && + ((Statement->Storage == NULL) || (Statement->Storage != NULL && Statement->ValueChanged))) { + // + // Only question value has been changed, browser will trig CHANGED callback. + // ProcessCallBackFunction(Selection, Selection->FormSet, Selection->Form, Statement, EFI_BROWSER_ACTION_CHANGED, FALSE); } } else {