From 8678133e8746fdc20f7d012005ebf2db370ddccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sat, 25 Jun 2016 21:46:39 +0200 Subject: 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. --- Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp') diff --git a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp index 5da77e585a..658a442420 100644 --- a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp +++ b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp @@ -68,18 +68,13 @@ void Init() // Unfortunately udev gives us no way to filter out the non event device interfaces. // So we open it and see if it works with evdev ioctls or not. std::string name = GetName(devnode); - evdevDevice* input = new evdevDevice(devnode, name_counts[name]++); + auto input = std::make_shared(devnode, name_counts[name]++); if (input->IsInteresting()) { - g_controller_interface.AddDevice(input); + g_controller_interface.AddDevice(std::move(input)); num_controllers++; } - else - { - // Either it wasn't a evdev device, or it didn't have at least 8 buttons or two axis. - delete input; - } } udev_device_unref(dev); } -- cgit v1.2.3