From be41645ae4650d41f7641fdf748c242f4e4353b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 13 Mar 2019 17:27:06 -0400 Subject: [PATCH] configuration: fix saving codec details Change-Id: I16c3c467ee1b1b583f1dc74e2294b7c069331f73 --- src/client/configurationmanager.cpp | 2 +- src/manager.cpp | 9 +++++++++ src/manager.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/client/configurationmanager.cpp b/src/client/configurationmanager.cpp index e1257106c5..d6d501deb7 100644 --- a/src/client/configurationmanager.cpp +++ b/src/client/configurationmanager.cpp @@ -549,7 +549,7 @@ setActiveCodecList(const std::string& accountID if (auto acc = ring::Manager::instance().getAccount(accountID)) { acc->setActiveCodecs(list); - ring::Manager::instance().saveConfig(); + ring::Manager::instance().saveConfig(acc); } else { RING_ERR("Could not find account %s", accountID.c_str()); } diff --git a/src/manager.cpp b/src/manager.cpp index bc302b3525..b44a794f78 100644 --- a/src/manager.cpp +++ b/src/manager.cpp @@ -1685,6 +1685,15 @@ void Manager::pollEvents() //THREAD=Main +void +Manager::saveConfig(const std::shared_ptr<Account>& acc) +{ + if (auto ringAcc = std::dynamic_pointer_cast<RingAccount>(acc)) + saveConfig(ringAcc); + else + saveConfig(); +} + void Manager::saveConfig(const std::shared_ptr<RingAccount>& account) { diff --git a/src/manager.h b/src/manager.h index 0fb4311c22..f5b3a430a5 100644 --- a/src/manager.h +++ b/src/manager.h @@ -306,6 +306,7 @@ class Manager { */ void saveConfig(); void saveConfig(const std::shared_ptr<RingAccount>&); + void saveConfig(const std::shared_ptr<Account>& acc); /** * Play a ringtone -- GitLab