From 024360a5df1598b643dec5e8b010e553673f864b Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 14 Aug 2019 23:55:32 +0200 Subject: [PATCH] Ref T709, avoid pure virtual assert by removing the JSON ctor, which is calling a virtual function in the ctor --- .../simulation/settings/xswiftbussettingsqtfree.cpp | 5 ----- src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h | 3 --- src/xswiftbus/service.cpp | 3 ++- src/xswiftbus/settings.cpp | 5 ----- src/xswiftbus/settings.h | 3 --- 5 files changed, 2 insertions(+), 17 deletions(-) diff --git a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp index 60c434975..53cbf2210 100644 --- a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp +++ b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.cpp @@ -38,11 +38,6 @@ namespace BlackMisc CXSwiftBusSettingsQtFree::CXSwiftBusSettingsQtFree() {} - CXSwiftBusSettingsQtFree::CXSwiftBusSettingsQtFree(const std::string &json) - { - this->parseXSwiftBusString(json); - } - bool CXSwiftBusSettingsQtFree::parseXSwiftBusString(const std::string &json) { if (json.empty()) { return false; } diff --git a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h index 192ce57ee..4f32258bf 100644 --- a/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h +++ b/src/blackmisc/simulation/settings/xswiftbussettingsqtfree.h @@ -28,9 +28,6 @@ namespace BlackMisc //! Constructor. CXSwiftBusSettingsQtFree(); - //! JSON Constructor. - CXSwiftBusSettingsQtFree(const std::string &json); - //! Destructor. ~CXSwiftBusSettingsQtFree() = default; diff --git a/src/xswiftbus/service.cpp b/src/xswiftbus/service.cpp index 8894a570f..03ac5c88f 100644 --- a/src/xswiftbus/service.cpp +++ b/src/xswiftbus/service.cpp @@ -164,7 +164,8 @@ namespace XSwiftBus void CService::setSettingsJson(const std::string &jsonString) { - const CSettings s(jsonString); + CSettings s; + s.parseXSwiftBusString(jsonString); this->setSettings(s); INFO_LOG("Received settings " + s.convertToString()); } diff --git a/src/xswiftbus/settings.cpp b/src/xswiftbus/settings.cpp index e253c918d..f0a268e57 100644 --- a/src/xswiftbus/settings.cpp +++ b/src/xswiftbus/settings.cpp @@ -22,11 +22,6 @@ namespace XSwiftBus // void } - CSettings::CSettings(const std::string &json) : CXSwiftBusSettingsQtFree(json) - { - // void - } - CSettings CSettingsProvider::getSettings() const { std::lock_guard l(m_settingsMutex); diff --git a/src/xswiftbus/settings.h b/src/xswiftbus/settings.h index 36c47ca1a..6ea61fc34 100644 --- a/src/xswiftbus/settings.h +++ b/src/xswiftbus/settings.h @@ -24,9 +24,6 @@ namespace XSwiftBus //! Constructor. CSettings(); - //! JSON constructor - CSettings(const std::string &json); - protected: //! \copydoc BlackMisc::Simulation::Settings::CXSwiftBusSettingsQtFree::objectUpdated virtual void objectUpdated() override final {}