From 4de43e4d4a20217599e682306438ab6452207c6b Mon Sep 17 00:00:00 2001
From: Narr the Reg <juangerman-13@hotmail.com>
Date: Sat, 23 Apr 2022 11:56:30 -0500
Subject: [PATCH] hotkeys: Trigger actions on a separate thread

---
 src/yuzu/main.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 5e26aad29c..f607f464a6 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -933,8 +933,9 @@ void GMainWindow::LinkActionShortcut(QAction* action, const QString& action_name
     auto* controller = system->HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1);
     const auto* controller_hotkey =
         hotkey_registry.GetControllerHotkey(main_window, action_name, controller);
-    connect(controller_hotkey, &ControllerShortcut::Activated, this,
-            [action] { action->trigger(); });
+    connect(
+        controller_hotkey, &ControllerShortcut::Activated, this, [action] { action->trigger(); },
+        Qt::QueuedConnection);
 }
 
 void GMainWindow::InitializeHotkeys() {
@@ -961,7 +962,8 @@ void GMainWindow::InitializeHotkeys() {
         const auto* controller_hotkey =
             hotkey_registry.GetControllerHotkey(main_window, action_name, controller);
         connect(hotkey, &QShortcut::activated, this, function);
-        connect(controller_hotkey, &ControllerShortcut::Activated, this, function);
+        connect(controller_hotkey, &ControllerShortcut::Activated, this, function,
+                Qt::QueuedConnection);
     };
 
     connect_shortcut(QStringLiteral("Exit Fullscreen"), [&] {