From bb4eb0bf1b5caa4f47b157e74208564d03fdbd58 Mon Sep 17 00:00:00 2001 From: Charles Dang Date: Wed, 20 Nov 2024 15:43:54 -0500 Subject: [PATCH] Video: fix incorrect refresh rate value being returned (fixes #9594) Regression from b859060627968b34ed0ea3bb1ee85bbae27120e6 --- src/video.cpp | 6 +++++- src/video.hpp | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/video.cpp b/src/video.cpp index b3844a60498..bffd45d661b 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -486,7 +486,11 @@ int get_pixel_scale() int current_refresh_rate() { // TODO: this should be more clever, depending on usage - return std::min(prefs::get().refresh_rate(), refresh_rate_); + if(auto preferred = prefs::get().refresh_rate(); preferred > 0) { + return std::min(preferred, refresh_rate_); + } else { + return refresh_rate_; + } } void force_render_target(const texture& t) diff --git a/src/video.hpp b/src/video.hpp index a06f5b6b6e4..0cee51e1c5a 100644 --- a/src/video.hpp +++ b/src/video.hpp @@ -135,6 +135,9 @@ std::vector enumerate_drivers(); /** * The refresh rate of the screen. * + * In most cases, this will be the native refresh rate of the display, but + * could be lower if FPS has been artificially capped (i.e., through --max-fps). + * * If a refresh cannot be detected, this may return 0, or it may return a * substitute value. */