From e1421622b19d6ad648655921ab87d5976c9605dd Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 9 Apr 2018 22:49:57 +0200 Subject: [PATCH] Reset URL list and adjusted timeouts for for bootstrap file. Also avoid problems when shutting down. --- src/blackcore/setupreader.cpp | 9 +++++---- src/blackgui/components/aircraftmodelstringcompleter.cpp | 3 ++- src/blackmisc/network/networkutils.cpp | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/blackcore/setupreader.cpp b/src/blackcore/setupreader.cpp index 3cb7f2d99..235da7da0 100644 --- a/src/blackcore/setupreader.cpp +++ b/src/blackcore/setupreader.cpp @@ -76,8 +76,8 @@ namespace BlackCore const CGlobalSetup cachedSetup = m_setup.get(); const bool cacheAvailable = cachedSetup.wasLoaded(); msgs.push_back(cacheAvailable ? - CStatusMessage(this, CStatusMessage::SeverityInfo , "Cached setup synchronized and contains data") : - CStatusMessage(this, CStatusMessage::SeverityInfo , "Cached setup synchronized, but no data in cache")); + CStatusMessage(this, CStatusMessage::SeverityInfo, "Cached setup synchronized and contains data") : + CStatusMessage(this, CStatusMessage::SeverityInfo, "Cached setup synchronized, but no data in cache")); if (m_bootstrapMode == CacheOnly) { @@ -218,7 +218,7 @@ namespace BlackCore CStatusMessageList CSetupReader::triggerReadSetup() { - if (m_shutdown) { return CStatusMessage(this, CStatusMessage::SeverityError, "shutdown"); } + if (!sApp || m_shutdown) { return CStatusMessage(this, CStatusMessage::SeverityError, "shutdown"); } if (!sApp->isInternetAccessible()) { const CStatusMessage m(this, CStatusMessage::SeverityInfo, "No network/internet, will try to recover"); @@ -228,9 +228,10 @@ namespace BlackCore return msgs; } - const CUrl url(m_bootstrapUrls.obtainNextWorkingUrl()); + const CUrl url(m_bootstrapUrls.obtainNextWorkingUrl(false, CNetworkUtils::getLongTimeoutMs())); if (url.isEmpty()) { + m_bootstrapUrls.reset(); const CStatusMessage m(this, CStatusMessage::SeverityError, "Cannot read setup, URLs: " + m_bootstrapUrls.toQString() + " failed URLs: " + m_bootstrapUrls.getFailedUrls().toQString()); diff --git a/src/blackgui/components/aircraftmodelstringcompleter.cpp b/src/blackgui/components/aircraftmodelstringcompleter.cpp index f3a33a4ca..db7add1dc 100644 --- a/src/blackgui/components/aircraftmodelstringcompleter.cpp +++ b/src/blackgui/components/aircraftmodelstringcompleter.cpp @@ -123,6 +123,7 @@ namespace BlackGui void CAircraftModelStringCompleter::setCompleter(bool simChanged) { + if (!sGui || sGui->isShuttingDown()) { return; } QStringList modelStrings; CompleterSourceFlag dataSource = None; QString simInfo = m_currentSimulator.toQString(); @@ -133,7 +134,7 @@ namespace BlackGui dataSource = DB; simInfo = QStringLiteral("DB models"); } - else if (ui->rb_ModelSet->isChecked()) + else if (ui->rb_ModelSet->isChecked() && sGui && sGui->getIContextSimulator()) { if (!simChanged && m_currentDataSource == ModelSet) { return; } modelStrings = sGui->getIContextSimulator()->getModelSetCompleterStrings(true); diff --git a/src/blackmisc/network/networkutils.cpp b/src/blackmisc/network/networkutils.cpp index aa8d3bae1..2a28caff1 100644 --- a/src/blackmisc/network/networkutils.cpp +++ b/src/blackmisc/network/networkutils.cpp @@ -50,7 +50,7 @@ namespace BlackMisc { int CNetworkUtils::getTimeoutMs() { - return 3000; + return 5000; } int CNetworkUtils::getLongTimeoutMs()