From: li-elvin Date: Wed, 22 Aug 2012 08:52:04 +0000 (+0000) Subject: Get correct GOP protocol for physical GOP device. X-Git-Tag: edk2-stable201903~13114 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=8d4e1bd933f22a5e9223dc9923367f6f49b03b00;p=mirror_edk2.git Get correct GOP protocol for physical GOP device. Signed-off-by: Li Elvin Reviewed-by: Fan Jeff git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13666 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c index f57aefeb7a..b7cdd7af39 100644 --- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c +++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterGraphics.c @@ -120,6 +120,7 @@ ConSplitterGraphicsOutputSetMode ( EFI_STATUS ReturnStatus; EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Mode; EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput; + EFI_GRAPHICS_OUTPUT_PROTOCOL *PhysicalGraphicsOutput; UINTN NumberIndex; UINTN SizeOfInfo; EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info; @@ -134,12 +135,14 @@ ConSplitterGraphicsOutputSetMode ( ReturnStatus = EFI_SUCCESS; GraphicsOutput = NULL; + PhysicalGraphicsOutput = NULL; // // return the worst status met // for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) { GraphicsOutput = Private->TextOutList[Index].GraphicsOutput; if (GraphicsOutput != NULL) { + PhysicalGraphicsOutput = GraphicsOutput; // // Find corresponding ModeNumber of this GraphicsOutput instance // @@ -178,14 +181,14 @@ ConSplitterGraphicsOutputSetMode ( This->Mode->Mode = ModeNumber; - if ((Private->CurrentNumberOfGraphicsOutput == 1) && (GraphicsOutput != NULL)) { + if ((Private->CurrentNumberOfGraphicsOutput == 1) && (PhysicalGraphicsOutput != NULL)) { // // If only one physical GOP device exist, copy physical information to consplitter. // - CopyMem (This->Mode->Info, GraphicsOutput->Mode->Info, GraphicsOutput->Mode->SizeOfInfo); - This->Mode->SizeOfInfo = GraphicsOutput->Mode->SizeOfInfo; - This->Mode->FrameBufferBase = GraphicsOutput->Mode->FrameBufferBase; - This->Mode->FrameBufferSize = GraphicsOutput->Mode->FrameBufferSize; + CopyMem (This->Mode->Info, PhysicalGraphicsOutput->Mode->Info, PhysicalGraphicsOutput->Mode->SizeOfInfo); + This->Mode->SizeOfInfo = PhysicalGraphicsOutput->Mode->SizeOfInfo; + This->Mode->FrameBufferBase = PhysicalGraphicsOutput->Mode->FrameBufferBase; + This->Mode->FrameBufferSize = PhysicalGraphicsOutput->Mode->FrameBufferSize; } else { // // If 2 more phyiscal GOP device exist or GOP protocol does not exist,