mirror of https://github.com/acidanthera/audk.git
Update SetupBrowser to initialize the question value before extract default value so that the default expression can be evaluated correctly.
Signed-off-by: lgao4 Reviewed-by: ydong10 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12757 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6ff84d99d3
commit
7d1b202d6e
|
@ -3088,7 +3088,15 @@ ExtractDefault (
|
||||||
DestroyFormSet (LocalFormSet);
|
DestroyFormSet (LocalFormSet);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
// Initilize Questions' Value
|
||||||
|
//
|
||||||
|
LoadFormSetConfig (NULL, LocalFormSet);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
DestroyFormSet (LocalFormSet);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Add FormSet into the maintain list.
|
// Add FormSet into the maintain list.
|
||||||
//
|
//
|
||||||
|
@ -3122,6 +3130,7 @@ ExtractDefault (
|
||||||
@param Selection Selection contains the information about
|
@param Selection Selection contains the information about
|
||||||
the Selection, form and formset to be displayed.
|
the Selection, form and formset to be displayed.
|
||||||
Selection action may be updated in retrieve callback.
|
Selection action may be updated in retrieve callback.
|
||||||
|
If Selection is NULL, only initialize Question value.
|
||||||
@param FormSet FormSet data structure.
|
@param FormSet FormSet data structure.
|
||||||
@param Form Form data structure.
|
@param Form Form data structure.
|
||||||
|
|
||||||
|
@ -3160,7 +3169,7 @@ LoadFormConfig (
|
||||||
//
|
//
|
||||||
// According the spec, ref opcode try to get value from call back with "retrieve" type.
|
// According the spec, ref opcode try to get value from call back with "retrieve" type.
|
||||||
//
|
//
|
||||||
if ((Question->Operand == EFI_IFR_REF_OP) && (FormSet->ConfigAccess != NULL)) {
|
if ((Question->Operand == EFI_IFR_REF_OP) && (FormSet->ConfigAccess != NULL) && (Selection != NULL)) {
|
||||||
Status = ProcessCallBackFunction(Selection, Question, EFI_BROWSER_ACTION_RETRIEVE, TRUE);
|
Status = ProcessCallBackFunction(Selection, Question, EFI_BROWSER_ACTION_RETRIEVE, TRUE);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return Status;
|
return Status;
|
||||||
|
@ -3171,6 +3180,7 @@ LoadFormConfig (
|
||||||
// Check whether EfiVarstore with CallBack can be got.
|
// Check whether EfiVarstore with CallBack can be got.
|
||||||
//
|
//
|
||||||
if ((FormSet->ConfigAccess != NULL) &&
|
if ((FormSet->ConfigAccess != NULL) &&
|
||||||
|
(Selection != NULL) &&
|
||||||
(Selection->Action != UI_ACTION_REFRESH_FORMSET) &&
|
(Selection->Action != UI_ACTION_REFRESH_FORMSET) &&
|
||||||
(Question->QuestionId != 0) &&
|
(Question->QuestionId != 0) &&
|
||||||
(Question->Storage != NULL) &&
|
(Question->Storage != NULL) &&
|
||||||
|
@ -3211,6 +3221,7 @@ LoadFormConfig (
|
||||||
@param Selection Selection contains the information about
|
@param Selection Selection contains the information about
|
||||||
the Selection, form and formset to be displayed.
|
the Selection, form and formset to be displayed.
|
||||||
Selection action may be updated in retrieve callback.
|
Selection action may be updated in retrieve callback.
|
||||||
|
If Selection is NULL, only initialize Question value.
|
||||||
@param FormSet FormSet data structure.
|
@param FormSet FormSet data structure.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_SUCCESS The function completed successfully.
|
||||||
|
|
|
@ -1064,6 +1064,7 @@ ExtractDefault (
|
||||||
@param Selection Selection contains the information about
|
@param Selection Selection contains the information about
|
||||||
the Selection, form and formset to be displayed.
|
the Selection, form and formset to be displayed.
|
||||||
Selection action may be updated in retrieve callback.
|
Selection action may be updated in retrieve callback.
|
||||||
|
If Selection is NULL, only initialize Question value.
|
||||||
@param FormSet FormSet data structure.
|
@param FormSet FormSet data structure.
|
||||||
@param Form Form data structure.
|
@param Form Form data structure.
|
||||||
|
|
||||||
|
@ -1083,6 +1084,7 @@ LoadFormConfig (
|
||||||
@param Selection Selection contains the information about
|
@param Selection Selection contains the information about
|
||||||
the Selection, form and formset to be displayed.
|
the Selection, form and formset to be displayed.
|
||||||
Selection action may be updated in retrieve callback.
|
Selection action may be updated in retrieve callback.
|
||||||
|
If Selection is NULL, only initialize Question value.
|
||||||
@param FormSet FormSet data structure.
|
@param FormSet FormSet data structure.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_SUCCESS The function completed successfully.
|
||||||
|
|
Loading…
Reference in New Issue