diff --git a/src/lib/deskflow/unix/X11LayoutsParser.cpp b/src/lib/deskflow/unix/X11LayoutsParser.cpp index f889fd0c7..1104c6fb9 100644 --- a/src/lib/deskflow/unix/X11LayoutsParser.cpp +++ b/src/lib/deskflow/unix/X11LayoutsParser.cpp @@ -114,6 +114,11 @@ void X11LayoutsParser::convertLayoutToISO639_2( } for (size_t i = 0; i < layoutNames.size(); i++) { const auto &layoutName = layoutNames[i]; + if (layoutNames[i].empty()) { + LOG((CLOG_DEBUG "skip converting empty layout name")); + continue; + } + auto langIter = std::find_if(allLang.begin(), allLang.end(), [&layoutName](const Lang &l) { return l.name == layoutName; }); if (langIter == allLang.end()) { @@ -174,6 +179,11 @@ std::string X11LayoutsParser::convertLayotToISO( const std::string &pathToEvdevFile, const std::string &layoutLangCode, bool needToReloadFiles ) { + if (layoutLangCode.empty()) { + LOG((CLOG_DEBUG "skip converting empty layout lang code")); + return ""; + } + std::vector iso639_2Codes; convertLayoutToISO639_2(pathToEvdevFile, needToReloadFiles, {layoutLangCode}, {""}, iso639_2Codes); if (iso639_2Codes.empty()) {