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.
This commit is contained in:
Léo Lam
2016-06-12 17:08:04 +02:00
parent 8a1bbaa563
commit fd29e5c4cc
24 changed files with 69 additions and 72 deletions

View File

@ -50,7 +50,7 @@ static XInputGetState_t PXInputGetState = nullptr;
static bool haveGuideButton = false;
void Init(std::vector<Core::Device*>& devices)
void Init()
{
if (!hXInput)
{
@ -89,7 +89,7 @@ void Init(std::vector<Core::Device*>& devices)
XINPUT_CAPABILITIES caps;
for (int i = 0; i != 4; ++i)
if (ERROR_SUCCESS == PXInputGetCapabilities(i, 0, &caps))
devices.push_back(new Device(caps, i));
g_controller_interface.AddDevice(new Device(caps, i));
}
void DeInit()