From b110c6aaadd886360fb972a1bc097b35141f7710 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 8 Jan 2019 22:26:22 +0100 Subject: [PATCH] Avoid ASSERT as reported in SLACK: ".. when time allows, can you have a look into the crashreports related to https://swift-project.sp.backtrace.io/dashboard/swift-project/project/testing/debugger/30" --- .../components/dbownmodelsetcomponent.cpp | 2 +- .../components/firstmodelsetcomponent.cpp | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/blackgui/components/dbownmodelsetcomponent.cpp b/src/blackgui/components/dbownmodelsetcomponent.cpp index 919fcc2be..17889aac6 100644 --- a/src/blackgui/components/dbownmodelsetcomponent.cpp +++ b/src/blackgui/components/dbownmodelsetcomponent.cpp @@ -398,7 +398,7 @@ namespace BlackGui void CDbOwnModelSetComponent::setSimulator(const CSimulatorInfo &simulator) { - if (m_simulator == simulator) { return; } // avoid unnecessary signals + if (m_simulator == simulator) { return; } // avoid unnecessary signals if (simulator.isNoSimulator()) { return; } Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Need single simulator"); diff --git a/src/blackgui/components/firstmodelsetcomponent.cpp b/src/blackgui/components/firstmodelsetcomponent.cpp index 74e818b5e..1346005fd 100644 --- a/src/blackgui/components/firstmodelsetcomponent.cpp +++ b/src/blackgui/components/firstmodelsetcomponent.cpp @@ -8,21 +8,25 @@ */ #include "firstmodelsetcomponent.h" -#include "ui_firstmodelsetcomponent.h" -#include "blackgui/views/distributorview.h" -#include "blackgui/guiapplication.h" -#include "blackcore/webdataservices.h" -#include "blackmisc/directoryutils.h" #include "dbownmodelsdialog.h" #include "dbownmodelscomponent.h" #include "dbownmodelsetdialog.h" #include "dbownmodelsetcomponent.h" +#include "ui_firstmodelsetcomponent.h" + +#include "blackgui/views/distributorview.h" +#include "blackgui/guiapplication.h" +#include "blackcore/webdataservices.h" +#include "blackmisc/directoryutils.h" +#include "blackmisc/verify.h" +#include "blackconfig/buildconfig.h" #include #include #include #include +using namespace BlackConfig; using namespace BlackMisc; using namespace BlackMisc::Simulation; using namespace BlackMisc::Simulation::Settings; @@ -72,6 +76,14 @@ namespace BlackGui void CFirstModelSetComponent::onSimulatorChanged(const CSimulatorInfo &simulator) { + if (!simulator.isSingleSimulator()) + { + //! \fixme KB 2019-01 reported by RR/crash dump sometimes happening and leading to ASSERT/CTD avoiding the "crash" to better undes + if (CBuildConfig::isLocalDeveloperDebugBuild()) { BLACK_VERIFY_X(false, Q_FUNC_INFO, "Need single simulator"); } + CLogMessage(this).error(u"Changing to non-single simulator %1 ignored") << simulator.toQString(); + return; + } + Q_ASSERT_X(m_modelsDialog, Q_FUNC_INFO, "No models dialog"); m_modelsDialog->setSimulator(simulator);