From ec495b30ce9d392d151df2e94359ad75d7b659bd Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Mon, 2 Apr 2012 18:02:56 -0400 Subject: [PATCH] Fix incorrect error check. The case where GetRefreshLimits() failed wasn't being detected and handled correctly. --- src/preferences/screen/ScreenWindow.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/preferences/screen/ScreenWindow.cpp b/src/preferences/screen/ScreenWindow.cpp index be994864b7..3c42a18340 100644 --- a/src/preferences/screen/ScreenWindow.cpp +++ b/src/preferences/screen/ScreenWindow.cpp @@ -311,7 +311,15 @@ ScreenWindow::ScreenWindow(ScreenSettings* settings) fRefreshMenu = new BPopUpMenu("refresh rate", true, true); float min, max; - if (fScreenMode.GetRefreshLimits(fActive, min, max) && min == max) { + if (fScreenMode.GetRefreshLimits(fActive, min, max) != B_OK) { + // if we couldn't obtain the refresh limits, reset to the default + // range. Constraints from detected monitors will fine-tune this + // later. + min = kRefreshRates[0]; + max = kRefreshRates[kRefreshRateCount - 1]; + } + + if (min == max) { // This is a special case for drivers that only support a single // frequency, like the VESA driver BString name;