summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Xlib
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2016-06-12 17:08:04 +0200
committerLéo Lam <leo@innovatetechnologi.es>2016-06-25 13:46:53 +0200
commitfd29e5c4cc26cd853a03ac7b0e08b367b7070c84 (patch)
tree5fdf3f210fc09344c829d1fa4b63baa4a423d97e /Source/Core/InputCommon/ControllerInterface/Xlib
parent8a1bbaa56382b1bca3b95d79c716fc377c78e591 (diff)
ControllerInterface: Don't pass m_devices to the backends
Previously, the devices vector would be passed to all backends. They would then manually push_back to it to add new devices. This was fine but caused issues when trying to add synchronisation. Instead, backends now call AddDevice() to fill m_devices so that it is not accessible from the outside.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Xlib')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp6
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h4
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp4
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h4
4 files changed, 9 insertions, 9 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
index 79b86a487d..d46f1cf4f6 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
@@ -46,7 +46,7 @@ namespace ciface
namespace XInput2
{
// This function will add zero or more KeyboardMouse objects to devices.
-void Init(std::vector<Core::Device*>& devices, void* const hwnd)
+void Init(void* const hwnd)
{
Display* dpy = XOpenDisplay(nullptr);
@@ -78,8 +78,8 @@ void Init(std::vector<Core::Device*>& devices, void* const hwnd)
if (current_master->use == XIMasterPointer)
// Since current_master is a master pointer, its attachment must
// be a master keyboard.
- devices.push_back(new KeyboardMouse((Window)hwnd, xi_opcode, current_master->deviceid,
- current_master->attachment));
+ g_controller_interface.AddDevice(new KeyboardMouse(
+ (Window)hwnd, xi_opcode, current_master->deviceid, current_master->attachment));
}
XCloseDisplay(dpy);
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h
index e8f2e2e06b..10499ea22c 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.h
@@ -12,13 +12,13 @@ extern "C" {
#include <X11/keysym.h>
}
-#include "InputCommon/ControllerInterface/Device.h"
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
namespace ciface
{
namespace XInput2
{
-void Init(std::vector<Core::Device*>& devices, void* const hwnd);
+void Init(void* const hwnd);
class KeyboardMouse : public Core::Device
{
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp b/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
index 71269c74f7..a7d94bbcd0 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp
@@ -11,9 +11,9 @@ namespace ciface
{
namespace Xlib
{
-void Init(std::vector<Core::Device*>& devices, void* const hwnd)
+void Init(void* const hwnd)
{
- devices.push_back(new KeyboardMouse((Window)hwnd));
+ g_controller_interface.AddDevice(new KeyboardMouse((Window)hwnd));
}
KeyboardMouse::KeyboardMouse(Window window) : m_window(window)
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h b/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h
index 94388211c0..18e5bad635 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.h
@@ -7,13 +7,13 @@
#include <X11/Xlib.h>
#include <X11/keysym.h>
-#include "InputCommon/ControllerInterface/Device.h"
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
namespace ciface
{
namespace Xlib
{
-void Init(std::vector<Core::Device*>& devices, void* const hwnd);
+void Init(void* const hwnd);
class KeyboardMouse : public Core::Device
{