if (Action == EFI_BROWSER_ACTION_CHANGING || Action == EFI_BROWSER_ACTION_RETRIEVE) {\r
SetQuestionValue(Selection->FormSet, Selection->Form, Statement, TRUE);\r
}\r
- } else if (Status == EFI_UNSUPPORTED) {\r
+ } else {\r
//\r
- // If return EFI_UNSUPPORTED, also consider Hii driver suceess deal with it.\r
+ // According the spec, return fail from call back of "changing" and \r
+ // "retrieve", should restore the question's value.\r
//\r
- Status = EFI_SUCCESS;\r
+ if (Action == EFI_BROWSER_ACTION_CHANGING || Action == EFI_BROWSER_ACTION_RETRIEVE) {\r
+ GetQuestionValue(Selection->FormSet, Selection->Form, Statement, TRUE);\r
+ }\r
+\r
+ if (Status == EFI_UNSUPPORTED) {\r
+ //\r
+ // If return EFI_UNSUPPORTED, also consider Hii driver suceess deal with it.\r
+ //\r
+ Status = EFI_SUCCESS;\r
+ }\r
}\r
}\r
\r