mirror of https://github.com/acidanthera/audk.git
Add uninstalling GOP and UGA protocol in Consplitter Stop ().
Signed-off-by: Li Elvin <elvin.li@intel.com> Reviewed-by: Tian Hot <hot.tian@intel.com> Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13883 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
e6fa789014
commit
cc1a5b86ff
|
@ -3199,6 +3199,35 @@ ConSplitterTextOutDeleteDevice (
|
|||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
if ((Private->CurrentNumberOfGraphicsOutput == 0) && (Private->CurrentNumberOfUgaDraw == 0)) {
|
||||
//
|
||||
// If there is not any physical GOP and UGA device in system,
|
||||
// Consplitter GOP or UGA protocol will be uninstalled
|
||||
//
|
||||
if (!FeaturePcdGet (PcdConOutGopSupport)) {
|
||||
Status = gBS->UninstallProtocolInterface (
|
||||
Private->VirtualHandle,
|
||||
&gEfiUgaDrawProtocolGuid,
|
||||
&Private->UgaDraw
|
||||
);
|
||||
} else if (!FeaturePcdGet (PcdConOutUgaSupport)) {
|
||||
Status = gBS->UninstallProtocolInterface (
|
||||
Private->VirtualHandle,
|
||||
&gEfiGraphicsOutputProtocolGuid,
|
||||
&Private->GraphicsOutput
|
||||
);
|
||||
} else {
|
||||
Status = gBS->UninstallMultipleProtocolInterfaces (
|
||||
Private->VirtualHandle,
|
||||
&gEfiUgaDrawProtocolGuid,
|
||||
&Private->UgaDraw,
|
||||
&gEfiGraphicsOutputProtocolGuid,
|
||||
&Private->GraphicsOutput,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentNumOfConsoles == 0) {
|
||||
//
|
||||
// If the number of consoles is zero, reset all parameters
|
||||
|
|
Loading…
Reference in New Issue