summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-01-06 06:41:09 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-01-06 06:41:09 +0000
commit40245175993beffd410783a5a2f84d8e264dbb30 (patch)
treedf9725fde27defa2b4eae021e68514746d69b018 /MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
parentcb0a42901a0931869ebcede637acec858be70cb7 (diff)
downloadedk2-platforms-40245175993beffd410783a5a2f84d8e264dbb30.tar.xz
Enable SetupBrowser to support multiple form class guid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9680 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/SetupBrowserDxe/Setup.c')
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Setup.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
index 5b99e7c5dd..da690eb97e 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
@@ -277,7 +277,6 @@ SendForm (
InitializeBrowserStrings ();
gFunctionKeySetting = DEFAULT_FUNCTION_KEY_SETTING;
- gClassOfVfr = FORMSET_CLASS_PLATFORM_SETUP;
//
// Ensure we are in Text mode
@@ -942,6 +941,10 @@ ConfigRespToStorage (
break;
case EFI_HII_VARSTORE_NAME_VALUE:
+ StrPtr = StrStr (ConfigResp, L"PATH");
+ if (StrPtr == NULL) {
+ break;
+ }
StrPtr = StrStr (ConfigResp, L"&");
while (StrPtr != NULL) {
//
@@ -2584,9 +2587,25 @@ InitializeFormSet (
return Status;
}
+ //
+ // Set VFR type by FormSet SubClass field
+ //
gClassOfVfr = FORMSET_CLASS_PLATFORM_SETUP;
if (FormSet->SubClass == EFI_FRONT_PAGE_SUBCLASS) {
gClassOfVfr = FORMSET_CLASS_FRONT_PAGE;
+ }
+
+ //
+ // Set VFR type by FormSet class guid
+ //
+ for (Index = 0; Index < 3; Index ++) {
+ if (CompareGuid (&FormSet->ClassGuid[Index], &gEfiHiiPlatformSetupFormsetGuid)) {
+ gClassOfVfr |= FORMSET_CLASS_PLATFORM_SETUP;
+ break;
+ }
+ }
+
+ if ((gClassOfVfr & FORMSET_CLASS_FRONT_PAGE) == FORMSET_CLASS_FRONT_PAGE) {
gFrontPageHandle = FormSet->HiiHandle;
}