]> git.proxmox.com Git - mirror_edk2.git/commitdiff
EFI_CONSOLE_CONTROL_PROTOCOL provide the SetMode interface to switch mode between...
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 1 Feb 2007 08:42:59 +0000 (08:42 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 1 Feb 2007 08:42:59 +0000 (08:42 +0000)
In this function, it is better to judge current mode with wanted mode at first, if current mode is equal to wanted mode, then return and do nothing. Why need add judging:
1) Missing judge will lead an issue that screen splash when pressing key in front page. It is caused by ui.c will switch to textmode when first in, but current mode has been in text mode.
2) If switching to text mode, there are many works want to be done such as EnableCursor, ClearScreen. If original has been in text mode, judging will improve the performance of UI.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2345 6f19259b-4bc3-4df7-8a09-765794883524

EdkModulePkg/Universal/Console/ConSplitter/Dxe/ConSplitterGraphics.c

index cec8adb2fb8e30e02e192257488ec38b5277895c..946835ed2971ac1d3309d82460ea8fb248f2725e 100644 (file)
@@ -116,6 +116,13 @@ ConSpliterConsoleControlSetMode (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
+  //\r
+  // Judge current mode with wanted mode at first.\r
+  // \r
+  if (Private->ConsoleOutputMode == Mode) {\r
+    return EFI_SUCCESS;\r
+  }\r
+\r
   Supported   = FALSE;\r
   TextAndGop  = &Private->TextOutList[0];\r
   for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++, TextAndGop++) {\r