From 58f247290fdc23015993b62658a40fea9734f095 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 27 Aug 2023 15:35:05 +0200 Subject: [PATCH] Use latest resolution value for resolution hotkey OSD Because CPU thread config changed callbacks are no longer instant, g_Config.iEFBScale doesn't yet contain the new value when the hotkey OSD code tries to read it. Should fix https://bugs.dolphin-emu.org/issues/13343. --- Source/Core/DolphinQt/HotkeyScheduler.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/Core/DolphinQt/HotkeyScheduler.cpp b/Source/Core/DolphinQt/HotkeyScheduler.cpp index 3f42cd4a68..59f8db8433 100644 --- a/Source/Core/DolphinQt/HotkeyScheduler.cpp +++ b/Source/Core/DolphinQt/HotkeyScheduler.cpp @@ -359,8 +359,8 @@ void HotkeyScheduler::Run() // Graphics const auto efb_scale = Config::Get(Config::GFX_EFB_SCALE); - auto ShowEFBScale = []() { - switch (Config::Get(Config::GFX_EFB_SCALE)) + const auto ShowEFBScale = [](int new_efb_scale) { + switch (new_efb_scale) { case EFB_SCALE_AUTO_INTEGRAL: OSD::AddMessage("Internal Resolution: Auto (integral)"); @@ -369,7 +369,7 @@ void HotkeyScheduler::Run() OSD::AddMessage("Internal Resolution: Native"); break; default: - OSD::AddMessage(fmt::format("Internal Resolution: {}x", g_Config.iEFBScale)); + OSD::AddMessage(fmt::format("Internal Resolution: {}x", new_efb_scale)); break; } }; @@ -377,14 +377,14 @@ void HotkeyScheduler::Run() if (IsHotkey(HK_INCREASE_IR)) { Config::SetCurrent(Config::GFX_EFB_SCALE, efb_scale + 1); - ShowEFBScale(); + ShowEFBScale(efb_scale + 1); } if (IsHotkey(HK_DECREASE_IR)) { if (efb_scale > EFB_SCALE_AUTO_INTEGRAL) { Config::SetCurrent(Config::GFX_EFB_SCALE, efb_scale - 1); - ShowEFBScale(); + ShowEFBScale(efb_scale - 1); } }