]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add judgement for TextModeMap
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 16 Oct 2007 07:01:51 +0000 (07:01 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 16 Oct 2007 07:01:51 +0000 (07:01 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4127 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c

index d6c3abd9e245517b0abc4134eee9d2e2111de9ea..dc391e33bced6ffddaea977b0a8da446f42bfcc7 100644 (file)
@@ -3460,11 +3460,26 @@ ConSplitterTextOutSetCursorPosition (
   EFI_STATUS                      ReturnStatus;\r
   UINTN                           MaxColumn;\r
   UINTN                           MaxRow;\r
+  INT32                           *TextOutModeMap;\r
+  INT32                           ModeNumber;\r
+  INT32                           CurrentMode;\r
 \r
   Private   = TEXT_OUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  MaxColumn = Private->TextOutQueryData[Private->TextOutMode.Mode].Columns;\r
-  MaxRow    = Private->TextOutQueryData[Private->TextOutMode.Mode].Rows;\r
+  TextOutModeMap  = NULL;\r
+  ModeNumber      = Private->TextOutMode.Mode;\r
+  \r
+  //\r
+  // Get current MaxColumn and MaxRow from intersection map\r
+  //\r
+  if (Private->TextOutModeMap != NULL) {\r
+    TextOutModeMap = Private->TextOutModeMap + Private->TextOutListCount * ModeNumber;\r
+    CurrentMode    = *TextOutModeMap;\r
+  } else {\r
+    CurrentMode = ModeNumber;\r
+  }\r
+  \r
+  MaxColumn = Private->TextOutQueryData[CurrentMode].Columns;\r
+  MaxRow    = Private->TextOutQueryData[CurrentMode].Rows;\r
 \r
   if (Column >= MaxColumn || Row >= MaxRow) {\r
     return EFI_UNSUPPORTED;\r