diff options
Diffstat (limited to 'src/input_common/gcadapter/gc_adapter.cpp')
| -rw-r--r-- | src/input_common/gcadapter/gc_adapter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/input_common/gcadapter/gc_adapter.cpp b/src/input_common/gcadapter/gc_adapter.cpp index 02d06876f..74759ea7d 100644 --- a/src/input_common/gcadapter/gc_adapter.cpp +++ b/src/input_common/gcadapter/gc_adapter.cpp | |||
| @@ -254,7 +254,7 @@ void Adapter::GetGCEndpoint(libusb_device* device) { | |||
| 254 | sizeof(clear_payload), nullptr, 16); | 254 | sizeof(clear_payload), nullptr, 16); |
| 255 | 255 | ||
| 256 | adapter_thread_running = true; | 256 | adapter_thread_running = true; |
| 257 | adapter_input_thread = std::thread([=] { Read(); }); // Read input | 257 | adapter_input_thread = std::thread(&Adapter::Read, this); |
| 258 | } | 258 | } |
| 259 | 259 | ||
| 260 | Adapter::~Adapter() { | 260 | Adapter::~Adapter() { |
| @@ -265,7 +265,9 @@ void Adapter::Reset() { | |||
| 265 | if (adapter_thread_running) { | 265 | if (adapter_thread_running) { |
| 266 | adapter_thread_running = false; | 266 | adapter_thread_running = false; |
| 267 | } | 267 | } |
| 268 | adapter_input_thread.join(); | 268 | if (adapter_input_thread.joinable()) { |
| 269 | adapter_input_thread.join(); | ||
| 270 | } | ||
| 269 | 271 | ||
| 270 | adapter_controllers_status.fill(ControllerTypes::None); | 272 | adapter_controllers_status.fill(ControllerTypes::None); |
| 271 | get_origin.fill(true); | 273 | get_origin.fill(true); |