diff --git a/pcsx2/ImGui/ImGuiManager.cpp b/pcsx2/ImGui/ImGuiManager.cpp index 40185a7013..d99d62e64e 100644 --- a/pcsx2/ImGui/ImGuiManager.cpp +++ b/pcsx2/ImGui/ImGuiManager.cpp @@ -1158,9 +1158,7 @@ void ImGuiManager::SetSoftwareCursor(u32 index, std::string image_path, float im // Also, need to make it run on the GSthread to ensure thread safety or OpenGL renderer will have race conditions due to not creating texture without a valid accompanying context. if (MTGS::IsOpen()) { - MTGS::RunOnGSThread([index]() { - UpdateSoftwareCursorTexture(index); - }); + UpdateSoftwareCursorTexture(index); // Since the entire lambda MTGS::RunOnGSThread([index, image_path = ...]() { ... }); is already executing on the GS thread, the UpdateSoftwareCursorTexture(index) call within it is also on the GS thread. Therefore, it doesn't strictly need its own separate MTGS::RunOnGSThread wrapper around it. If you do call MTGS it will lock up Big Picture Mode (FSUI). } // If showing or hiding the cursor for Player 1 (index 0), update the host mouse mode