summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2016-06-25 21:46:39 +0200
committerLéo Lam <leo@innovatetechnologi.es>2016-06-25 21:46:39 +0200
commit8678133e8746fdc20f7d012005ebf2db370ddccc (patch)
treeccca4a186be0e8ee93c733c8d2315e5dd0c20db2 /Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
parentafa202738e54652e98e8388a5c6a1541d750e3e6 (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/SDL/SDL.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
index 870f0387d7..a31abd3055 100644
--- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
@@ -58,12 +58,10 @@ void Init()
SDL_Joystick* dev = SDL_JoystickOpen(i);
if (dev)
{
- Joystick* js = new Joystick(dev, i, name_counts[GetJoystickName(i)]++);
+ auto js = std::make_shared<Joystick>(dev, i, name_counts[GetJoystickName(i)]++);
// 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));
}
}
}