summaryrefslogtreecommitdiff
path: root/src/input_common/gcadapter/gc_adapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/input_common/gcadapter/gc_adapter.cpp')
-rw-r--r--src/input_common/gcadapter/gc_adapter.cpp6
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
260Adapter::~Adapter() { 260Adapter::~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);