summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp9
1 files changed, 2 insertions, 7 deletions
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<evdevDevice>(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);
}