diff --git a/src/xswiftbus/plugin.cpp b/src/xswiftbus/plugin.cpp index 9dc935607..603217976 100644 --- a/src/xswiftbus/plugin.cpp +++ b/src/xswiftbus/plugin.cpp @@ -66,10 +66,15 @@ namespace XSwiftBus // Delay the start of XSwiftBus. // http://www.xsquawkbox.net/xpsdk/mediawiki/DeferredInitialization XPLMRegisterFlightLoopCallback(startServerDeferred, -1, this); + + m_atisSaved = m_atisEnabled.get(); + m_atisEnabled.set(0); } CPlugin::~CPlugin() { + m_atisEnabled.set(m_atisSaved); + XPLMUnregisterFlightLoopCallback(flightLoopCallback, this); m_dbusConnection->close(); m_shouldStop = true; diff --git a/src/xswiftbus/plugin.h b/src/xswiftbus/plugin.h index 656fed6ae..656a0aebb 100644 --- a/src/xswiftbus/plugin.h +++ b/src/xswiftbus/plugin.h @@ -72,6 +72,9 @@ namespace XSwiftBus CMenu m_planeViewSubMenu; CMenuItem planeViewOwnAircraftMenuItem; + DataRef m_atisEnabled; + decltype(m_atisEnabled.get()) m_atisSaved = 0; + std::thread m_dbusThread; bool m_isRunning = false; bool m_shouldStop = false;