aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/util/overlay_dialog.cpp
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-02-11 03:00:15 +0100
committercrueter <crueter@eden-emu.dev>2026-02-11 03:00:15 +0100
commit19494bc7ac943478e099f1b28877d33ece685d3f (patch)
tree2cf52c459067d05a7ccb2a11169d46e7a9e7e7b1 /src/yuzu/util/overlay_dialog.cpp
parent28a78d76fed94255233284abb3df36b3fd41467d (diff)
[network, qt] use jthread and use std::vector for packet list instead of std::list (#254)
Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/254 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/yuzu/util/overlay_dialog.cpp')
-rw-r--r--src/yuzu/util/overlay_dialog.cpp38
1 files changed, 13 insertions, 25 deletions
diff --git a/src/yuzu/util/overlay_dialog.cpp b/src/yuzu/util/overlay_dialog.cpp
index 466bbe7b25..2d50f22acb 100644
--- a/src/yuzu/util/overlay_dialog.cpp
+++ b/src/yuzu/util/overlay_dialog.cpp
@@ -1,3 +1,5 @@
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -231,34 +233,20 @@ void OverlayDialog::TranslateButtonPress(Core::HID::NpadButton button) {
}
void OverlayDialog::StartInputThread() {
- if (input_thread_running) {
- return;
- }
-
- input_thread_running = true;
-
- input_thread = std::thread(&OverlayDialog::InputThread, this);
+ input_thread = std::jthread([&](std::stop_token stoken) {
+ while (!stoken.stop_requested()) {
+ input_interpreter->PollInput();
+ HandleButtonPressedOnce<Core::HID::NpadButton::A, Core::HID::NpadButton::B,
+ Core::HID::NpadButton::Left, Core::HID::NpadButton::Right,
+ Core::HID::NpadButton::StickLLeft,
+ Core::HID::NpadButton::StickLRight>();
+ std::this_thread::sleep_for(std::chrono::milliseconds(50));
+ }
+ });
}
void OverlayDialog::StopInputThread() {
- input_thread_running = false;
-
- if (input_thread.joinable()) {
- input_thread.join();
- }
-}
-
-void OverlayDialog::InputThread() {
- while (input_thread_running) {
- input_interpreter->PollInput();
-
- HandleButtonPressedOnce<Core::HID::NpadButton::A, Core::HID::NpadButton::B,
- Core::HID::NpadButton::Left, Core::HID::NpadButton::Right,
- Core::HID::NpadButton::StickLLeft,
- Core::HID::NpadButton::StickLRight>();
-
- std::this_thread::sleep_for(std::chrono::milliseconds(50));
- }
+ input_thread.request_stop();
}
void OverlayDialog::keyPressEvent(QKeyEvent* e) {