diff options
| author | Léo Lam <leo@innovatetechnologi.es> | 2016-06-25 21:46:39 +0200 |
|---|---|---|
| committer | Léo Lam <leo@innovatetechnologi.es> | 2016-06-25 21:46:39 +0200 |
| commit | 8678133e8746fdc20f7d012005ebf2db370ddccc (patch) | |
| tree | ccca4a186be0e8ee93c733c8d2315e5dd0c20db2 /Source/Core/InputCommon/ControllerInterface/DInput | |
| parent | afa202738e54652e98e8388a5c6a1541d750e3e6 (diff) | |
ControllerInterface: Switch to std::shared_ptr
Small cleanup by using std::shared_ptr and getting rid of
ciface.Devices() which just returned the m_devices (which defeats the
point of making m_devices protected).
Incidentally, this should make the code safer when we have
different threads accessing devices in the future (for hotplug?).
A lot of code use Device references directly so there is
no easy way to remove FindDevice() and make those unique_ptrs.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/DInput')
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp index ea059fde73..ecd1bf1d40 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp @@ -58,12 +58,10 @@ void InitJoystick(IDirectInput8* const idi8, HWND hwnd) } } - Joystick* js = new Joystick(/*&*i, */ js_device, name_counts[joystick.tszInstanceName]++); + auto js = std::make_shared<Joystick>(js_device, name_counts[joystick.tszInstanceName]++); // only add if it has some inputs/outputs if (js->Inputs().size() || js->Outputs().size()) - g_controller_interface.AddDevice(js); - else - delete js; + g_controller_interface.AddDevice(std::move(js)); } else { diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp index fc02238980..2ee0477653 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp @@ -51,7 +51,7 @@ void InitKeyboardMouse(IDirectInput8* const idi8, HWND _hwnd) SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)) && SUCCEEDED(mo_device->SetCooperativeLevel(nullptr, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE))) { - g_controller_interface.AddDevice(new KeyboardMouse(kb_device, mo_device)); + g_controller_interface.AddDevice(std::make_shared<KeyboardMouse>(kb_device, mo_device)); return; } |
