Improved handling for "unexpected shutdown"

(such as DBus down/unavailable)
This commit is contained in:
Klaus Basan
2017-03-10 01:28:12 +01:00
committed by Mathew Sutcliffe
parent 6640c84e63
commit 5323491eb9
3 changed files with 9 additions and 2 deletions

View File

@@ -27,6 +27,7 @@
#include "blackmisc/pq/frequency.h"
#include "blackmisc/pq/units.h"
#include "blackmisc/sequence.h"
#include "blackmisc/verify.h"
#include "ui_cockpitcomcomponent.h"
#include <QDoubleSpinBox>
@@ -251,13 +252,17 @@ namespace BlackGui
CSimulatedAircraft CCockpitComComponent::getOwnAircraft() const
{
Q_ASSERT(sGui->getIContextOwnAircraft());
if (!sGui->getIContextOwnAircraft()) return CSimulatedAircraft();
// unavailable context during shutdown possible
// mostly when client runs with DBus, but DBus is down
if (!sGui || sGui->isShuttingDown() || !sGui->getIContextOwnAircraft()) { return CSimulatedAircraft(); }
return sGui->getIContextOwnAircraft()->getOwnAircraft();
}
bool CCockpitComComponent::updateOwnCockpitInContext(const CSimulatedAircraft &ownAircraft)
{
// unavailable context during shutdown possible
// mostly when client runs with DBus, but DBus is down
if (!sGui || sGui->isShuttingDown() || !sGui->getIContextOwnAircraft()) { return false; }
return sGui->getIContextOwnAircraft()->updateCockpit(ownAircraft.getCom1System(), ownAircraft.getCom2System(), ownAircraft.getTransponder(), identifier());
}

View File

@@ -205,6 +205,7 @@ namespace BlackGui
{
canConnect = CNetworkUtils::canConnect(sharedUrl);
allRowsHtml += rowHtml.arg(canConnect ? imgOk : imgFailed, urlLinkHtml.arg(sharedUrl.getFullUrl(), sharedUrl.getHost()));
if (!sGui || sGui->isShuttingDown()) { return; } // shutdown during connect test
}
ui->lbl_SharedUrls->setText(tableHtml.arg(allRowsHtml.trimmed()));
ui->lbl_SharedUrls->setToolTip(sGui->getWebDataServices()->getDbReaderCurrentSharedDbDataUrl().toQString());