diff --git a/src/blackgui/components/logincomponent.cpp b/src/blackgui/components/logincomponent.cpp index 910f7cca2..9f5801cc2 100644 --- a/src/blackgui/components/logincomponent.cpp +++ b/src/blackgui/components/logincomponent.cpp @@ -385,6 +385,15 @@ namespace BlackGui ui->editor_Pilot->setUser(server.getUser(), true); } + bool CLoginComponent::hasContexts() + { + if (!sApp || !sApp->supportsContexts()) { return false; } + if (!sApp->getIContextSimulator()) { return false; } + if (!sApp->getIContextNetwork()) { return false; } + if (!sApp->getIContextOwnAircraft()) { return false; } + return true; + } + CLoginComponent::CGuiAircraftValues CLoginComponent::getAircraftValuesFromGui() const { CGuiAircraftValues values; @@ -435,9 +444,7 @@ namespace BlackGui void CLoginComponent::setOwnModelAndIcaoValues() { - Q_ASSERT(sGui->getIContextOwnAircraft()); - Q_ASSERT(sGui->getIContextSimulator()); - + if (!this->hasContexts()) { return; } CAircraftModel model; const bool simulating = sGui->getIContextSimulator() && (sGui->getIContextSimulator()->getSimulatorStatus() & ISimulator::Simulating); @@ -505,7 +512,7 @@ namespace BlackGui bool CLoginComponent::validateAircraftValues() { - const CGuiAircraftValues values = getAircraftValuesFromGui(); + const CGuiAircraftValues values = this->getAircraftValuesFromGui(); const bool validCombinedType = CAircraftIcaoCode::isValidCombinedType(values.ownAircraftCombinedType); ui->lblp_AircraftCombinedType->setTicked(validCombinedType); diff --git a/src/blackgui/components/logincomponent.h b/src/blackgui/components/logincomponent.h index 1f8716bed..2f3f05ff0 100644 --- a/src/blackgui/components/logincomponent.h +++ b/src/blackgui/components/logincomponent.h @@ -201,6 +201,9 @@ namespace BlackGui //! Tab widget (server) changed void onServerTabWidgetChanged(int index); + //! Has contexts + bool hasContexts(); + static const int OverlayMessageMs = 5000; QScopedPointer ui; QScopedPointer m_mappingWizard;