mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
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:
@ -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()
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <XInput.h>
|
||||
#include <windows.h>
|
||||
|
||||
#include "InputCommon/ControllerInterface/Device.h"
|
||||
#include "InputCommon/ControllerInterface/ControllerInterface.h"
|
||||
|
||||
#ifndef XINPUT_DEVSUBTYPE_FLIGHT_STICK
|
||||
#error You are building this module against the wrong version of DirectX. You probably need to remove DXSDK_DIR from your include path and/or _WIN32_WINNT is wrong.
|
||||
@ -22,7 +22,7 @@ namespace ciface
|
||||
{
|
||||
namespace XInput
|
||||
{
|
||||
void Init(std::vector<Core::Device*>& devices);
|
||||
void Init();
|
||||
void DeInit();
|
||||
|
||||
class Device : public Core::Device
|
||||
|
Reference in New Issue
Block a user