mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-08 06:32:35 +02:00
INtroduce range check for int value against the several enums we exposed through the js api for REnder and PErformance settings
This commit is contained in:
parent
34bae25d0e
commit
9bc6c3bfcd
6 changed files with 10 additions and 5 deletions
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -26,6 +26,7 @@ public:
|
|||
HIGH,
|
||||
PROFILE_COUNT
|
||||
};
|
||||
static bool isValidPerformancePreset(int value) { return (value >= PerformancePreset::UNKNOWN && value <= PerformancePreset::HIGH); }
|
||||
|
||||
PerformanceManager();
|
||||
~PerformanceManager() = default;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue