diff --git a/AutoAnswer/PluginPreferenceHandler.cpp b/AutoAnswer/PluginPreferenceHandler.cpp index 0690932134b89e5060d15ad984d53b2bdd39a37d..eaf90017428b2021dbfdd93787cd29aa54a22451 100644 --- a/AutoAnswer/PluginPreferenceHandler.cpp +++ b/AutoAnswer/PluginPreferenceHandler.cpp @@ -51,13 +51,20 @@ PluginPreferenceHandler::setPreferenceAttribute(const std::string& accountId, const std::string& key, const std::string& value) { - auto accIt = preferences_.find("default"); - if (!accountId.empty()) + if (accountId.empty()) { + for (auto& prefMap : preferences_) { + auto it = prefMap.second.find(key); + if (it != prefMap.second.end() && it->second != value) { + it->second = value; + } + } + } else { + auto accIt = preferences_.find("default"); accIt = preferences_.emplace(accountId, preferences_["default"]).first; - - auto it = accIt->second.find(key); - if (it != accIt->second.end() && it->second != value) { - it->second = value; + auto it = accIt->second.find(key); + if (it != accIt->second.end() && it->second != value) { + it->second = value; + } } } diff --git a/WaterMark/PluginPreferenceHandler.cpp b/WaterMark/PluginPreferenceHandler.cpp index b9dcdc8382743d0dbc49afb50e4e83ecbc475bed..1f4702437d843d16baefda9edb0f0c647aea02b2 100644 --- a/WaterMark/PluginPreferenceHandler.cpp +++ b/WaterMark/PluginPreferenceHandler.cpp @@ -52,14 +52,22 @@ PluginPreferenceHandler::setPreferenceAttribute(const std::string& accountId, const std::string& key, const std::string& value) { - auto accIt = preferences_.find("default"); - if (!accountId.empty()) + if (accountId.empty()) { + for (auto& prefMap : preferences_) { + auto it = prefMap.second.find(key); + if (it != prefMap.second.end() && it->second != value) { + it->second = value; + } + } + } else { + auto accIt = preferences_.find("default"); accIt = preferences_.emplace(accountId, preferences_["default"]).first; - - auto it = accIt->second.find(key); - if (it != accIt->second.end() && it->second != value) { - it->second = value; + auto it = accIt->second.find(key); + if (it != accIt->second.end() && it->second != value) { + it->second = value; + } } + wmh_->setParameters(accountId); } diff --git a/WaterMark/WatermarkMediaHandler.cpp b/WaterMark/WatermarkMediaHandler.cpp index 4ed3b9b8fcdf9eb96d808faf5007e1269984e296..3971ce50530d2e5a919456112c8be329deddc5bf 100644 --- a/WaterMark/WatermarkMediaHandler.cpp +++ b/WaterMark/WatermarkMediaHandler.cpp @@ -82,9 +82,9 @@ WatermarkMediaHandler::notifyAVFrameSubject(const StreamData& data, jami::avSubj void WatermarkMediaHandler::setParameters(const std::string& accountId) { - if (accountId != accountId_) + if (!accountId.empty() && accountId != accountId_) return; - auto preferences = aph_->getPreferences(accountId); + auto preferences = aph_->getPreferences(accountId_); try { mediaSubscriber_->setParameter(preferences["fontsize"], Parameter::FONTSIZE); mediaSubscriber_->setParameter(preferences["logosize"], Parameter::LOGOSIZE);