From fd29e5c4cc26cd853a03ac7b0e08b367b7070c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 12 Jun 2016 17:08:04 +0200 Subject: ControllerInterface: Don't pass m_devices to the backends Previously, the devices vector would be passed to all backends. They would then manually push_back to it to add new devices. This was fine but caused issues when trying to add synchronisation. Instead, backends now call AddDevice() to fill m_devices so that it is not accessible from the outside. --- .../InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp') diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp index 92c8514825..3d9b692ba0 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp @@ -4,6 +4,7 @@ #include +#include "InputCommon/ControllerInterface/ControllerInterface.h" #include "InputCommon/ControllerInterface/DInput/DInput.h" #include "InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h" @@ -31,7 +32,7 @@ static const struct // lil silly static HWND m_hwnd; -void InitKeyboardMouse(IDirectInput8* const idi8, std::vector& devices, HWND _hwnd) +void InitKeyboardMouse(IDirectInput8* const idi8, HWND _hwnd) { m_hwnd = _hwnd; @@ -56,7 +57,7 @@ void InitKeyboardMouse(IDirectInput8* const idi8, std::vector& de if (SUCCEEDED( mo_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE))) { - devices.push_back(new KeyboardMouse(kb_device, mo_device)); + g_controller_interface.AddDevice(new KeyboardMouse(kb_device, mo_device)); return; } } -- cgit v1.2.3 From 9b075556ea826699800d9478d1eed3a80368c348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 24 Jun 2016 16:28:27 +0200 Subject: Fix a small formatting issue --- .../DInput/DInputKeyboardMouse.cpp | 27 +++++++--------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp') diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp index 3d9b692ba0..fc02238980 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp @@ -44,26 +44,15 @@ void InitKeyboardMouse(IDirectInput8* const idi8, HWND _hwnd) LPDIRECTINPUTDEVICE8 kb_device = nullptr; LPDIRECTINPUTDEVICE8 mo_device = nullptr; - if (SUCCEEDED(idi8->CreateDevice(GUID_SysKeyboard, &kb_device, nullptr))) + if (SUCCEEDED(idi8->CreateDevice(GUID_SysKeyboard, &kb_device, nullptr)) && + SUCCEEDED(kb_device->SetDataFormat(&c_dfDIKeyboard)) && + SUCCEEDED(kb_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)) && + SUCCEEDED(idi8->CreateDevice(GUID_SysMouse, &mo_device, nullptr)) && + SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)) && + SUCCEEDED(mo_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE))) { - if (SUCCEEDED(kb_device->SetDataFormat(&c_dfDIKeyboard))) - { - if (SUCCEEDED(kb_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE))) - { - if (SUCCEEDED(idi8->CreateDevice(GUID_SysMouse, &mo_device, nullptr))) - { - if (SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2))) - { - if (SUCCEEDED( - mo_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE))) - { - g_controller_interface.AddDevice(new KeyboardMouse(kb_device, mo_device)); - return; - } - } - } - } - } + g_controller_interface.AddDevice(new KeyboardMouse(kb_device, mo_device)); + return; } if (kb_device) -- cgit v1.2.3