]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Console/ConSplitter/Dxe/ConSplitterGraphics.c
EFI_CONSOLE_CONTROL_PROTOCOL provide the SetMode interface to switch mode between...
[mirror_edk2.git] / EdkModulePkg / Universal / Console / ConSplitter / Dxe / ConSplitterGraphics.c
index 5aa2bae2f05f73505240c74764b2ece3f156a38d..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
@@ -204,7 +211,7 @@ ConSpliterGraphicsOutputQueryMode (
   Status = gBS->AllocatePool (\r
                   EfiBootServicesData,\r
                   sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION),\r
-                  Info\r
+                  (VOID **) Info\r
                   );\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
@@ -355,6 +362,7 @@ Routine Description:
   return ReturnStatus;\r
 }\r
 \r
+STATIC\r
 EFI_STATUS\r
 DevNullGraphicsOutputBlt (\r
   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA                *Private,\r
@@ -575,7 +583,7 @@ ConSpliterGraphicsOutputBlt (
       Status = UgaDraw->Blt (\r
                               UgaDraw,\r
                               (EFI_UGA_PIXEL *) BltBuffer,\r
-                              BltOperation,\r
+                              (EFI_UGA_BLT_OPERATION) BltOperation,\r
                               SourceX,\r
                               SourceY,\r
                               DestinationX,\r