summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/SDL
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/SDL
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/SDL')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp5
-rw-r--r--Source/Core/InputCommon/ControllerInterface/SDL/SDL.h4
2 files changed, 4 insertions, 5 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
index 8b87261480..870f0387d7 100644
--- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
@@ -7,6 +7,7 @@
#include <sstream>
#include "Common/StringUtil.h"
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/ControllerInterface/SDL/SDL.h"
#ifdef _WIN32
@@ -32,7 +33,7 @@ static std::string GetJoystickName(int index)
#endif
}
-void Init(std::vector<Core::Device*>& devices)
+void Init()
{
// this is used to number the joysticks
// multiple joysticks with the same name shall get unique ids starting at 0
@@ -60,7 +61,7 @@ void Init(std::vector<Core::Device*>& devices)
Joystick* js = new Joystick(dev, i, name_counts[GetJoystickName(i)]++);
// only add if it has some inputs/outputs
if (js->Inputs().size() || js->Outputs().size())
- devices.push_back(js);
+ g_controller_interface.AddDevice(js);
else
delete js;
}
diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h
index 10c3fab6ee..746eb20b8e 100644
--- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h
+++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h
@@ -8,8 +8,6 @@
#include <SDL.h>
-#include "InputCommon/ControllerInterface/Device.h"
-
#if SDL_VERSION_ATLEAST(1, 3, 0)
#define USE_SDL_HAPTIC
#endif
@@ -22,7 +20,7 @@ namespace ciface
{
namespace SDL
{
-void Init(std::vector<Core::Device*>& devices);
+void Init();
class Joystick : public Core::Device
{