diff --git a/interface/src/PerformanceManager.cpp b/interface/src/PerformanceManager.cpp index e7591e8b57..874d92521b 100644 --- a/interface/src/PerformanceManager.cpp +++ b/interface/src/PerformanceManager.cpp @@ -41,7 +41,7 @@ void PerformanceManager::setupPerformancePresetSettings(bool evaluatePlatformTie } void PerformanceManager::setPerformancePreset(PerformanceManager::PerformancePreset preset) { - if (getPerformancePreset() != preset) { + if (isValidPerformancePreset(preset) && (getPerformancePreset() != preset)) { _performancePresetSettingLock.withWriteLock([&] { _performancePresetSetting.set((int)preset); }); diff --git a/interface/src/PerformanceManager.h b/interface/src/PerformanceManager.h index 2931d1f17b..f28d56d6ff 100644 --- a/interface/src/PerformanceManager.h +++ b/interface/src/PerformanceManager.h @@ -26,6 +26,7 @@ public: HIGH, PROFILE_COUNT }; + static bool isValidPerformancePreset(int value) { return (value >= PerformancePreset::UNKNOWN && value <= PerformancePreset::HIGH); } PerformanceManager(); ~PerformanceManager() = default; diff --git a/interface/src/RefreshRateManager.cpp b/interface/src/RefreshRateManager.cpp index f2033b9491..4963eee8cf 100644 --- a/interface/src/RefreshRateManager.cpp +++ b/interface/src/RefreshRateManager.cpp @@ -94,7 +94,7 @@ void RefreshRateManager::toggleInactive() { } void RefreshRateManager::setRefreshRateProfile(RefreshRateManager::RefreshRateProfile refreshRateProfile) { - if (_refreshRateProfile != refreshRateProfile) { + if (isValidRefreshRateProfile(refreshRateProfile) && (_refreshRateProfile != refreshRateProfile)) { _refreshRateProfileSettingLock.withWriteLock([&] { _refreshRateProfile = refreshRateProfile; _refreshRateProfileSetting.set((int) refreshRateProfile); @@ -124,7 +124,7 @@ RefreshRateManager::RefreshRateRegime RefreshRateManager::getRefreshRateRegime() } void RefreshRateManager::setRefreshRateRegime(RefreshRateManager::RefreshRateRegime refreshRateRegime) { - if (_refreshRateRegime != refreshRateRegime) { + if (isValidRefreshRateRegime(refreshRateRegime) && (_refreshRateRegime != refreshRateRegime)) { _refreshRateRegime = refreshRateRegime; updateRefreshRateController(); } @@ -132,7 +132,7 @@ void RefreshRateManager::setRefreshRateRegime(RefreshRateManager::RefreshRateReg } void RefreshRateManager::setUXMode(RefreshRateManager::UXMode uxMode) { - if (_uxMode != uxMode) { + if (isValidUXMode(uxMode) && (_uxMode != uxMode)) { _uxMode = uxMode; updateRefreshRateController(); } diff --git a/interface/src/RefreshRateManager.h b/interface/src/RefreshRateManager.h index 6316de3bfb..74dd8156e1 100644 --- a/interface/src/RefreshRateManager.h +++ b/interface/src/RefreshRateManager.h @@ -29,6 +29,7 @@ public: REALTIME, PROFILE_NUM }; + static bool isValidRefreshRateProfile(RefreshRateProfile value) { return (value >= RefreshRateProfile::ECO && value <= RefreshRateProfile::REALTIME); } enum RefreshRateRegime { FOCUS_ACTIVE = 0, @@ -39,12 +40,14 @@ public: SHUTDOWN, REGIME_NUM }; + static bool isValidRefreshRateRegime(RefreshRateRegime value) { return (value >= RefreshRateRegime::FOCUS_ACTIVE && value <= RefreshRateRegime::SHUTDOWN); } enum UXMode { DESKTOP = 0, VR, UX_NUM }; + static bool isValidUXMode(UXMode value) { return (value >= UXMode::DESKTOP && value <= UXMode::VR); } RefreshRateManager(); ~RefreshRateManager() = default; diff --git a/interface/src/scripting/RenderScriptingInterface.cpp b/interface/src/scripting/RenderScriptingInterface.cpp index 730fef3966..608f1d30e9 100644 --- a/interface/src/scripting/RenderScriptingInterface.cpp +++ b/interface/src/scripting/RenderScriptingInterface.cpp @@ -42,7 +42,7 @@ RenderScriptingInterface::RenderMethod RenderScriptingInterface::getRenderMethod } void RenderScriptingInterface::setRenderMethod(RenderMethod renderMethod) { - if (_renderMethod != (int) renderMethod) { + if (isValidRenderMethod(renderMethod) && (_renderMethod != (int) renderMethod)) { forceRenderMethod(renderMethod); emit settingsChanged(); } diff --git a/interface/src/scripting/RenderScriptingInterface.h b/interface/src/scripting/RenderScriptingInterface.h index df2e138b08..39a88d4aad 100644 --- a/interface/src/scripting/RenderScriptingInterface.h +++ b/interface/src/scripting/RenderScriptingInterface.h @@ -41,6 +41,7 @@ public: FORWARD = render::Args::RenderMethod::FORWARD, }; Q_ENUM(RenderMethod) + static bool isValidRenderMethod(RenderMethod value) { return (value >= RenderMethod::DEFERRED && value <= RenderMethod::FORWARD); } // Load Settings