summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorayuanx <ayuanx@gmail.com>2009-12-04 12:13:39 +0000
committerayuanx <ayuanx@gmail.com>2009-12-04 12:13:39 +0000
commit07cd58ebc01987c88b58c36485828f5caefe06c8 (patch)
tree3c3dbba6fc69d6b0ba4bda6f27e0a53874051b2b /Source/Core
parent714618f4ad8d98b98e4f7a2ade1469d39d83a459 (diff)
Fixed the "usb_kbd is not able to run Close()" issue.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4639 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp9
-rw-r--r--Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp
index 29dea2f024..c2f33a5ccc 100644
--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp
+++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.cpp
@@ -44,6 +44,15 @@ bool CWII_IPC_HLE_Device_usb_kbd::Open(u32 _CommandAddress, u32 _Mode)
return true;
}
+bool CWII_IPC_HLE_Device_usb_kbd::Close(u32 _CommandAddress, bool _bForce)
+{
+ INFO_LOG(WII_IPC_NET, "USB_KBD: Close");
+ if (!_bForce)
+ Memory::Write_U32(0, _CommandAddress + 4);
+ m_Active = false;
+ return true;
+}
+
bool CWII_IPC_HLE_Device_usb_kbd::Write(u32 _CommandAddress)
{
WARN_LOG(WII_IPC_STM, "Ignoring write to CWII_IPC_HLE_Device_usb_kbd");
diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h
index 445c494cfd..f17679a326 100644
--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h
+++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb_kbd.h
@@ -8,6 +8,7 @@ public:
virtual ~CWII_IPC_HLE_Device_usb_kbd();
virtual bool Open(u32 _CommandAddress, u32 _Mode);
+ virtual bool Close(u32 _CommandAddress, bool _bForce);
virtual bool Write(u32 _CommandAddress);
virtual bool IOCtl(u32 _CommandAddress);
virtual u32 Update();