Fixed one bug in consplitter console input Start/Stop functions for those handlers only produce SimpleTextIn and not produce SimpleTextEx protocol.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5914 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2008-09-17 09:55:05 +00:00
parent 205564ad9b
commit 04b9f76313
2 changed files with 18 additions and 26 deletions

View File

@ -12,11 +12,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
//
// Include common header file for this module.
//
#include <ConPlatform.h>
//

View File

@ -1094,15 +1094,14 @@ ConSplitterConInDriverBindingStart (
mConIn.VirtualHandle,
EFI_OPEN_PROTOCOL_GET_PROTOCOL
);
if (EFI_ERROR (Status)) {
return Status;
if (!EFI_ERROR (Status)) {
//
// If Simple Text Input Ex protocol exists,
// add this device into Text In Ex devices list.
//
Status = ConSplitterTextInExAddDevice (&mConIn, TextInEx);
}
//
// Add this device into Text In Ex devices list.
//
Status = ConSplitterTextInExAddDevice (&mConIn, TextInEx);
return Status;
}
@ -1455,10 +1454,10 @@ ConSplitterConInDriverBindingStop (
IN EFI_HANDLE *ChildHandleBuffer
)
{
EFI_STATUS Status;
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn;
EFI_STATUS Status;
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn;
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx;
if (NumberOfChildren == 0) {
return EFI_SUCCESS;
}
@ -1471,19 +1470,17 @@ ConSplitterConInDriverBindingStop (
ControllerHandle,
EFI_OPEN_PROTOCOL_GET_PROTOCOL
);
if (EFI_ERROR (Status)) {
return Status;
if (!EFI_ERROR (Status)) {
//
// If Simple Text Input Ex protocol exists,
// remove device from Text Input Ex devices list.
//
Status = ConSplitterTextInExDeleteDevice (&mConIn, TextInEx);
if (EFI_ERROR (Status)) {
return Status;
}
}
//
// Remove device from Text Input Ex devices list.
//
Status = ConSplitterTextInExDeleteDevice (&mConIn, TextInEx);
if (EFI_ERROR (Status)) {
return Status;
}
//
// Close Simple Text In protocol on controller handle and virtual handle.
//