summaryrefslogtreecommitdiff
path: root/src/config/legacy/ConfigManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/legacy/ConfigManager.cpp')
-rw-r--r--src/config/legacy/ConfigManager.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/config/legacy/ConfigManager.cpp b/src/config/legacy/ConfigManager.cpp
index 566cabb7..04d76260 100644
--- a/src/config/legacy/ConfigManager.cpp
+++ b/src/config/legacy/ConfigManager.cpp
@@ -1118,20 +1118,36 @@ bool CConfigManager::deviceConfigExplicitlySet(const std::string& dev, const std
}
int CConfigManager::getDeviceInt(const std::string& dev, const std::string& v, const std::string& fallback) {
- return std::any_cast<Hyprlang::INT>(getConfigValueSafeDevice(dev, v, fallback)->getValue());
+ auto val = getConfigValueSafeDevice(dev, v, fallback);
+ if (!val)
+ return {};
+
+ return std::any_cast<Hyprlang::INT>(val->getValue());
}
float CConfigManager::getDeviceFloat(const std::string& dev, const std::string& v, const std::string& fallback) {
- return std::any_cast<Hyprlang::FLOAT>(getConfigValueSafeDevice(dev, v, fallback)->getValue());
+ auto val = getConfigValueSafeDevice(dev, v, fallback);
+ if (!val)
+ return {};
+
+ return std::any_cast<Hyprlang::FLOAT>(val->getValue());
}
Vector2D CConfigManager::getDeviceVec(const std::string& dev, const std::string& v, const std::string& fallback) {
- auto vec = std::any_cast<Hyprlang::VEC2>(getConfigValueSafeDevice(dev, v, fallback)->getValue());
+ auto val = getConfigValueSafeDevice(dev, v, fallback);
+ if (!val)
+ return {};
+
+ auto vec = std::any_cast<Hyprlang::VEC2>(val->getValue());
return {vec.x, vec.y};
}
std::string CConfigManager::getDeviceString(const std::string& dev, const std::string& v, const std::string& fallback) {
- auto VAL = std::string{std::any_cast<Hyprlang::STRING>(getConfigValueSafeDevice(dev, v, fallback)->getValue())};
+ auto val = getConfigValueSafeDevice(dev, v, fallback);
+ if (!val)
+ return "";
+
+ auto VAL = std::string{std::any_cast<Hyprlang::STRING>(val->getValue())};
if (VAL == STRVAL_EMPTY)
return "";