diff options
| author | vaxerski <vaxry@vaxry.net> | 2022-08-09 18:13:13 +0200 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2022-08-09 18:13:13 +0200 |
| commit | e2f61e267e1aaabd78d0eaf0b31c2af66f9d1304 (patch) | |
| tree | 64b6ba5a871a0f77ddbb4e83f97eac3916172119 /src | |
| parent | ecce027c02bda91277ae8b9a9d95508c4e93eb73 (diff) | |
add parse errors for invalid kb layouts
Diffstat (limited to 'src')
| -rw-r--r-- | src/config/ConfigManager.cpp | 5 | ||||
| -rw-r--r-- | src/config/ConfigManager.hpp | 2 | ||||
| -rw-r--r-- | src/managers/input/InputManager.cpp | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 5c592e36..3b361ece 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1349,3 +1349,8 @@ void CConfigManager::ensureDPMS() { SAnimationPropertyConfig* CConfigManager::getAnimationPropertyConfig(const std::string& name) { return &animationConfig[name]; } + +void CConfigManager::addParseError(const std::string& err) { + if (parseError == "") + parseError = err; +}
\ No newline at end of file diff --git a/src/config/ConfigManager.hpp b/src/config/ConfigManager.hpp index 18079356..4eef417f 100644 --- a/src/config/ConfigManager.hpp +++ b/src/config/ConfigManager.hpp @@ -100,6 +100,8 @@ public: std::string parseKeyword(const std::string&, const std::string&, bool dynamic = false); + void addParseError(const std::string&); + SAnimationPropertyConfig* getAnimationPropertyConfig(const std::string&); private: diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index e23962a1..e8f204b7 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -536,6 +536,8 @@ void CInputManager::applyConfigToKeyboard(SKeyboard* pKeyboard) { auto KEYMAP = xkb_keymap_new_from_names(CONTEXT, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS); if (!KEYMAP) { + g_pConfigManager->addParseError("Invalid keyboard layout passed. ( rules: " + RULES + ", model: " + MODEL + ", variant: " + VARIANT + ", options: " + OPTIONS + ", layout: " + LAYOUT + " )"); + Debug::log(ERR, "Keyboard layout %s with variant %s (rules: %s, model: %s, options: %s) couldn't have been loaded.", rules.layout, rules.variant, rules.rules, rules.model, rules.options); memset(&rules, 0, sizeof(rules)); |
