Ref T437, extern C and use normal pointer

This commit is contained in:
Klaus Basan
2018-11-22 05:03:27 +01:00
parent e9fd49731c
commit 410d77330f
3 changed files with 12 additions and 7 deletions

View File

@@ -18,13 +18,17 @@
// bug in FSUIPC_User.h, windows.h not included, so we have to import it first
#ifdef SWIFT_USING_FSUIPC32
extern "C" {
#include "../fsuipc32/IPCuser.h"
#include "../fsuipc32/FSUIPC_User.h"
#include "../fsuipc32/NewWeather.h"
}
#elif SWIFT_USING_FSUIPC64
extern "C" {
#include "../fsuipc64/IPCuser64.h"
#include "../fsuipc64/FSUIPC_User64.h"
#include "../fsuipc64/NewWeather.h"
}
#endif
#include "blackmisc/simulation/fscommon/bcdconversions.h"
@@ -526,6 +530,7 @@ namespace BlackSimPlugin
void CFsuipc::processWeatherMessages()
{
if (m_weatherMessageQueue.empty()) { return; }
if (!m_connected) { return; }
FsuipcWeatherMessage &weatherMessage = m_weatherMessageQueue.first();
DWORD dwResult;

View File

@@ -30,13 +30,13 @@ namespace BlackSimPlugin
{
CSimulatorFsCommon::CSimulatorFsCommon(
const CSimulatorPluginInfo &info,
IOwnAircraftProvider *ownAircraftProvider,
IOwnAircraftProvider *ownAircraftProvider,
IRemoteAircraftProvider *renderedAircraftProvider,
IWeatherGridProvider *weatherGridProvider,
IClientProvider *clientProvider,
IWeatherGridProvider *weatherGridProvider,
IClientProvider *clientProvider,
QObject *parent) :
CSimulatorPluginCommon(info, ownAircraftProvider, renderedAircraftProvider, weatherGridProvider, clientProvider, parent),
m_fsuipc(std::make_unique<CFsuipc>(this))
m_fsuipc(new CFsuipc(this))
{
CSimulatorFsCommon::registerHelp();
}

View File

@@ -79,9 +79,9 @@ namespace BlackSimPlugin
//! Register help
static void registerHelp();
std::unique_ptr<CFsuipc> m_fsuipc; //!< FSUIPC
bool m_useFsuipc = false; //!< use FSUIPC
bool m_simPaused = false; //!< Simulator paused?
CFsuipc *m_fsuipc = nullptr; //!< FSUIPC
bool m_useFsuipc = false; //!< use FSUIPC
bool m_simPaused = false; //!< Simulator paused?
bool m_simTimeSynced = false; //!< Time synchronized?
BlackMisc::PhysicalQuantities::CTime m_syncTimeOffset; //!< time offset
BlackMisc::Aviation::CAirportList m_airportsInRangeFromSimulator; //!< airports in range of own aircraft