summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-10-16 07:01:51 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2007-10-16 07:01:51 +0000
commitde8fe2c269cf681ffaed684433a379ea81160d17 (patch)
tree53a2c612e4051ab0207060be0f7a3c83c132520c /MdeModulePkg
parentaf437b7c2e5f5e8dd4eb936c2cdfe6f2511807c7 (diff)
downloadedk2-de8fe2c269cf681ffaed684433a379ea81160d17.zip
edk2-de8fe2c269cf681ffaed684433a379ea81160d17.tar.gz
edk2-de8fe2c269cf681ffaed684433a379ea81160d17.tar.bz2
Add judgement for TextModeMap
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4127 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
index d6c3abd..dc391e3 100644
--- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
+++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
@@ -3460,11 +3460,26 @@ ConSplitterTextOutSetCursorPosition (
EFI_STATUS ReturnStatus;
UINTN MaxColumn;
UINTN MaxRow;
+ INT32 *TextOutModeMap;
+ INT32 ModeNumber;
+ INT32 CurrentMode;
Private = TEXT_OUT_SPLITTER_PRIVATE_DATA_FROM_THIS (This);
-
- MaxColumn = Private->TextOutQueryData[Private->TextOutMode.Mode].Columns;
- MaxRow = Private->TextOutQueryData[Private->TextOutMode.Mode].Rows;
+ TextOutModeMap = NULL;
+ ModeNumber = Private->TextOutMode.Mode;
+
+ //
+ // Get current MaxColumn and MaxRow from intersection map
+ //
+ if (Private->TextOutModeMap != NULL) {
+ TextOutModeMap = Private->TextOutModeMap + Private->TextOutListCount * ModeNumber;
+ CurrentMode = *TextOutModeMap;
+ } else {
+ CurrentMode = ModeNumber;
+ }
+
+ MaxColumn = Private->TextOutQueryData[CurrentMode].Columns;
+ MaxRow = Private->TextOutQueryData[CurrentMode].Rows;
if (Column >= MaxColumn || Row >= MaxRow) {
return EFI_UNSUPPORTED;