]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
Enable lock attribute for statement and form; show this attribute same as grayout.
[mirror_edk2.git] / MdeModulePkg / Universal / SetupBrowserDxe / IfrParse.c
index 50ae87d92e668ba0a8f8a029d3734639dfb8b481..87924792a7d57cd3c8e254943f7d027ba861a1e7 100644 (file)
@@ -2117,6 +2117,28 @@ ParseOpCodes (
       CurrentForm->ModalForm = TRUE;\r
       break;\r
 \r
+    //\r
+    // Lock tag, used by form and statement.\r
+    //\r
+    case EFI_IFR_LOCKED_OP:\r
+      //\r
+      // Get ScopeOpcode from top of stack\r
+      //\r
+      PopScope (&ScopeOpCode);\r
+      PushScope (ScopeOpCode);\r
+      switch (ScopeOpCode) {\r
+      case EFI_IFR_FORM_OP:\r
+      case EFI_IFR_FORM_MAP_OP:\r
+        ASSERT (CurrentForm != NULL);\r
+        CurrentForm->Locked = TRUE;\r
+        break;\r
+\r
+      default:\r
+        ASSERT (CurrentStatement != NULL);\r
+        CurrentStatement->Locked = TRUE;\r
+      }      \r
+      break;\r
+\r
     //\r
     // Vendor specific\r
     //\r