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