While playing with the latest EDK2 HII browser code, we ran into something 
interesting.

The order of ValidateQuestion (which handles inconsistent-if and warning-if) 
and ConfigAccess->Callback() seems to be  incorrect.  The ValidateQuestion() is 
called after the user changes the value, but before the Callback(). If the user 
ends up changing the value in the Callback() with 
FormBrowser->BrowserCallback(), the updated value is not used. Which means 
dynamic warning/inconsistent-if are not possible.

According to the UEFI 2.4 spec 28.2.5.9.2, the evaluation of the 
warning/inconsistent if "takes place when the value has changed, normally when 
the user attempts to leave the control...",  I think the 
Callback(ACTION_CHANGING/ACTION_CALLBACK)  should run *before* 
ValidateQuestion().

This is also important for WarningIf because the idea is to give the user a 
warning BEFORE they make a change to a question

What do you think?



Samer El-Haj-Mahmoud
System Firmware Architect
HP Servers

el...@hp.com<mailto:el...@hp.com>
T +1.281.514.5973
C +1.512.659.1523
Hewlett-Packard Company
CCM07:M74-B228
Houston, TX 77070

[Description: Description: C:\Users\elhajmah\HpLogo.png]

<<inline: image001.png>>

------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to