diff --git a/src/plugins/simulator/fs9/simulatorfs9.cpp b/src/plugins/simulator/fs9/simulatorfs9.cpp index 3d4c61bd3..19d6f6991 100644 --- a/src/plugins/simulator/fs9/simulatorfs9.cpp +++ b/src/plugins/simulator/fs9/simulatorfs9.cpp @@ -461,10 +461,15 @@ namespace BlackSimPlugin m_fsuipc->setSimulatorTime(h, m); } - void CSimulatorFs9::injectWeatherGrid(const Weather::CWeatherGrid &weatherGrid) + void CSimulatorFs9::injectWeatherGrid(const CWeatherGrid &weatherGrid) { if (!m_useFsuipc || !m_fsuipc) { return; } if (!m_fsuipc->isOpened()) { return; } + if (weatherGrid.isEmpty()) + { + CLogMessage(this).info(u"Empty FS9 weather grid"); + return; + } m_fsuipc->write(weatherGrid); } diff --git a/src/plugins/simulator/fscommon/fsuipcimpl.cpp b/src/plugins/simulator/fscommon/fsuipcimpl.cpp index dd9df61e2..38867c8f5 100644 --- a/src/plugins/simulator/fscommon/fsuipcimpl.cpp +++ b/src/plugins/simulator/fscommon/fsuipcimpl.cpp @@ -199,6 +199,7 @@ namespace BlackSimPlugin Q_ASSERT_X(CThreadUtils::isCurrentThreadObjectThread(this), Q_FUNC_INFO, "Open not threadsafe"); if (!this->isOpened()) { return false; } + if (weatherGrid.isEmpty()) { return false; } this->clearAllWeather(); CGridPoint gridPoint = weatherGrid.front();