summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Xlib
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/Xlib
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/Xlib')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp4
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
index d46f1cf4f6..c7c2e74242 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
@@ -76,10 +76,12 @@ void Init(void* const hwnd)
{
current_master = &all_masters[i];
if (current_master->use == XIMasterPointer)
+ {
// Since current_master is a master pointer, its attachment must
// be a master keyboard.
- g_controller_interface.AddDevice(new KeyboardMouse(
+ g_controller_interface.AddDevice(std::make_shared<KeyboardMouse>(
(Window)hwnd, xi_opcode, current_master->deviceid, current_master->attachment));
+ }
}
XCloseDisplay(dpy);
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp b/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
index a7d94bbcd0..fd5cda04ec 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
@@ -13,7 +13,7 @@ namespace Xlib
{
void Init(void* const hwnd)
{
- g_controller_interface.AddDevice(new KeyboardMouse((Window)hwnd));
+ g_controller_interface.AddDevice(std::make_shared<KeyboardMouse>((Window)hwnd));
}
KeyboardMouse::KeyboardMouse(Window window) : m_window(window)