diff options
| author | Léo Lam <leo@innovatetechnologi.es> | 2016-06-12 17:08:04 +0200 |
|---|---|---|
| committer | Léo Lam <leo@innovatetechnologi.es> | 2016-06-25 13:46:53 +0200 |
| commit | fd29e5c4cc26cd853a03ac7b0e08b367b7070c84 (patch) | |
| tree | 5fdf3f210fc09344c829d1fa4b63baa4a423d97e /Source/Core/InputCommon/ControllerInterface/SDL | |
| parent | 8a1bbaa56382b1bca3b95d79c716fc377c78e591 (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.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/SDL/SDL.h | 4 |
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 { |
