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 diff --git a/scripts/developer/utilities/lib/prop/PropBool.qml b/scripts/developer/utilities/lib/prop/PropBool.qml index 1d50ec7dd3..de07a53e47 100644 --- a/scripts/developer/utilities/lib/prop/PropBool.qml +++ b/scripts/developer/utilities/lib/prop/PropBool.qml @@ -14,12 +14,6 @@ PropItem { Global { id: global } id: root - property alias valueVar : checkboxControl.checked - - Component.onCompleted: { - valueVar = root.valueVarGetter(); - } - PropCheckBox { id: checkboxControl @@ -27,6 +21,7 @@ PropItem { anchors.verticalCenter: root.verticalCenter width: root.width * global.valueAreaWidthScale + checked: root.valueVarGetter(); onCheckedChanged: { root.valueVarSetter(checked); } } } \ No newline at end of file diff --git a/scripts/developer/utilities/lib/prop/PropEnum.qml b/scripts/developer/utilities/lib/prop/PropEnum.qml index c7869050ba..2268b21e34 100644 --- a/scripts/developer/utilities/lib/prop/PropEnum.qml +++ b/scripts/developer/utilities/lib/prop/PropEnum.qml @@ -15,13 +15,8 @@ PropItem { Global { id: global } id: root - property alias valueVar : valueCombo.currentIndex property alias enums : valueCombo.model - Component.onCompleted: { - valueVar = root.valueVarGetter(); - } - PropComboBox { id: valueCombo @@ -33,6 +28,6 @@ PropItem { height: global.slimHeight currentIndex: root.valueVarGetter() - onCurrentIndexChanged: { root.valueVarSetter(currentIndex); } + onCurrentIndexChanged: root.valueVarSetter(currentIndex) } } diff --git a/scripts/developer/utilities/lib/prop/PropItem.qml b/scripts/developer/utilities/lib/prop/PropItem.qml index 03eabae39b..f1a3b236d8 100644 --- a/scripts/developer/utilities/lib/prop/PropItem.qml +++ b/scripts/developer/utilities/lib/prop/PropItem.qml @@ -23,7 +23,7 @@ Item { // value is accessed through the "valueVarSetter" and "valueVarGetter" // By default, these just go get or set the value from the object[property] // - function defaultGet() { return root.object[root.property]; } + function defaultGet() { var v = root.object[root.property]; return v; } function defaultSet(value) { root.object[root.property] = value; } // function defaultSetReadOnly(value) { log ( "read only " + property + ", NOT setting to " + value); } // function defaultSetReadOnly(value) {} diff --git a/scripts/developer/utilities/lib/prop/PropScalar.qml b/scripts/developer/utilities/lib/prop/PropScalar.qml index 4c569eb57e..33e1bfc958 100644 --- a/scripts/developer/utilities/lib/prop/PropScalar.qml +++ b/scripts/developer/utilities/lib/prop/PropScalar.qml @@ -30,7 +30,7 @@ PropItem { Component.onCompleted: { valueVar = root.valueVarGetter(); - } + } PropLabel { id: valueLabel diff --git a/scripts/developer/utilities/render/luci/Framebuffer.qml b/scripts/developer/utilities/render/luci/Framebuffer.qml index 89d5e59002..dd2b57d085 100644 --- a/scripts/developer/utilities/render/luci/Framebuffer.qml +++ b/scripts/developer/utilities/render/luci/Framebuffer.qml @@ -29,7 +29,7 @@ Column { label: "Debug Buffer" object: config property: "mode" - valueVar: 0 + // valueVar: 0 enums: [ "Off", "Depth", diff --git a/scripts/developer/utilities/render/luci/PerformanceSettings.qml b/scripts/developer/utilities/render/luci/PerformanceSettings.qml index ba3ecada9d..8794ade40c 100644 --- a/scripts/developer/utilities/render/luci/PerformanceSettings.qml +++ b/scripts/developer/utilities/render/luci/PerformanceSettings.qml @@ -32,6 +32,7 @@ Column { } Prop.PropEnum { + id: refreshrateProfileControl label: "Refresh Rate Profile" object: Performance property: "refreshRateProfile" diff --git a/scripts/developer/utilities/render/performanceSetup.qml b/scripts/developer/utilities/render/performanceSetup.qml index 416c074e0f..ab00d31f2b 100644 --- a/scripts/developer/utilities/render/performanceSetup.qml +++ b/scripts/developer/utilities/render/performanceSetup.qml @@ -50,7 +50,7 @@ Rectangle { } } } - /* Prop.PropFolderPanel { + Prop.PropFolderPanel { label: "Platform" panelFrameData: Component { Platform { @@ -58,7 +58,7 @@ Rectangle { anchors.right: parent.right } } - }*/ + } } } }