diff --git a/spectrum/src/frontends/xmpp/adhocmanager.cpp b/spectrum/src/frontends/xmpp/adhocmanager.cpp index d88beccf423313a6780fd8f2e12d7c03941db404..6b43bc8fe6341724505c53bb031596837f222c40 100644 --- a/spectrum/src/frontends/xmpp/adhocmanager.cpp +++ b/spectrum/src/frontends/xmpp/adhocmanager.cpp @@ -73,6 +73,9 @@ void AdHocManager::handleUserCreated(User *user) { for (std::map::const_iterator it = m_factories.begin(); it != m_factories.end(); it++) { for (std::map::const_iterator it2 = it->second->getUserSettings().begin(); it2 != it->second->getUserSettings().end(); it2++) { std::string value = CONFIG_STRING_DEFAULTED(m_component->getConfig(), it->second->getNode() + "." + it2->first, it2->second); + if (it2->second == "true" || it2->second == "1" || it2->second == "false" || it2->second == "0") { + value = CONFIG_BOOL_DEFAULTED(m_component->getConfig(), it->second->getNode() + "." + it2->first, it2->second == "true" || it2->second == "1") ? "1" : "0"; + } if (m_storageBackend) { int type = (int) TYPE_BOOLEAN; m_storageBackend->getUserSetting(user->getUserInfo().id, it2->first, type, value);