diff --git a/ChangeLog b/ChangeLog index 8201f6332..151ef8bed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ Bug fixes: - #7097 The title "Enterprise" disappeares after clicking on "Preferences" - #7108 Wrong characters on client for unicode - #7114 Fixed problem with reading languages on Linux system +- #7115 Prevent notifications if language reading fails Enhancements: - #7068 Add Synergy restart when settings changed diff --git a/src/lib/client/ServerProxy.cpp b/src/lib/client/ServerProxy.cpp index 74fcc2a4c..864ffd29e 100644 --- a/src/lib/client/ServerProxy.cpp +++ b/src/lib/client/ServerProxy.cpp @@ -35,6 +35,7 @@ #include #include +#include // // ServerProxy @@ -967,7 +968,7 @@ ServerProxy::setServerLanguages() void ServerProxy::setActiveServerLanguage(const String& language) { - if (!language.empty()) { + if (!language.empty() && std::strlen(language.c_str()) > 0) { if(m_serverLanguage != language) { m_isUserNotifiedAboutLanguageSyncError = false; m_serverLanguage = language; diff --git a/src/lib/synergy/languages/LanguageManager.cpp b/src/lib/synergy/languages/LanguageManager.cpp index 6e51cbf12..739f4fb12 100644 --- a/src/lib/synergy/languages/LanguageManager.cpp +++ b/src/lib/synergy/languages/LanguageManager.cpp @@ -89,7 +89,13 @@ String LanguageManager::getSerializedLocalLanguages() const bool LanguageManager::isLanguageInstalled(const String& language) const { - return (std::find(m_localLanguages.begin(), m_localLanguages.end(), language) != m_localLanguages.end()); + bool isInstalled = true; + + if (!m_localLanguages.empty()) { + isInstalled = (std::find(m_localLanguages.begin(), m_localLanguages.end(), language) != m_localLanguages.end()); + } + + return isInstalled; } } //namespace languages