When do discard action, enable callback action for questions which have value changed.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13509 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
ydong10
2012-07-06 02:27:33 +00:00
parent 6e7ba5e34a
commit 816a711058
7 changed files with 255 additions and 94 deletions

View File

@@ -891,7 +891,7 @@ IdToQuestion (
// to keep synchronous, always reload the Question Value.
//
if (Question->Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) {
GetQuestionValue (FormSet, Form, Question, FALSE);
GetQuestionValue (FormSet, Form, Question, GetSetValueWithHiiDriver);
}
return Question;
@@ -2142,7 +2142,7 @@ GetQuestionValueFromForm (
//
// Get the question value.
//
Status = GetQuestionValue(FormSet, Form, Question, FALSE);
Status = GetQuestionValue(FormSet, Form, Question, GetSetValueWithHiiDriver);
if (EFI_ERROR (Status)) {
GetTheVal = FALSE;
goto Done;
@@ -2343,7 +2343,7 @@ EvaluateExpression (
//
// Get value from string except for STRING value.
//
Status = GetValueByName (OpCode->VarStorage, OpCode->ValueName, &StrPtr);
Status = GetValueByName (OpCode->VarStorage, OpCode->ValueName, &StrPtr, GetSetValueWithEditBuffer);
if (!EFI_ERROR (Status)) {
ASSERT (StrPtr != NULL);
TempLength = StrLen (StrPtr);
@@ -2796,7 +2796,7 @@ EvaluateExpression (
for (Index = 0; Index < OpCode->ValueWidth; Index ++, TempBuffer --) {
StrPtr += UnicodeValueToString (StrPtr, PREFIX_ZERO | RADIX_HEX, *TempBuffer, 2);
}
Status = SetValueByName (OpCode->VarStorage, OpCode->ValueName, NameValue, TRUE);
Status = SetValueByName (OpCode->VarStorage, OpCode->ValueName, NameValue, GetSetValueWithEditBuffer);
FreePool (NameValue);
if (!EFI_ERROR (Status)) {
Data1.Value.b = TRUE;