Ref T275, used "pending" function (FSX/P3D) to check if we can request position data

This commit is contained in:
Klaus Basan
2018-06-10 14:52:42 +02:00
parent fb243cca8c
commit 6f5b4c5de8
2 changed files with 5 additions and 3 deletions

View File

@@ -155,6 +155,9 @@ namespace BlackSimPlugin
//! Marked as pending for removal
void setPendingRemoved(bool pending);
//! Pending added or removed?
bool isPending() const { return this->isPendingAdded() || this->isPendingRemoved(); }
//! Reset the state (like it was a new onject) without affecting interpolator and aircraft
void resetState();

View File

@@ -72,7 +72,7 @@ namespace BlackSimPlugin
bool CSimulatorFsxCommon::isConnected() const
{
return m_simConnected;
return m_simConnected && m_hSimConnect;
}
bool CSimulatorFsxCommon::isSimulating() const
@@ -1646,8 +1646,7 @@ namespace BlackSimPlugin
{
if (this->isShuttingDownOrDisconnected()) { return false; }
if (!simObject.hasValidRequestAndObjectId()) { return false; }
if (simObject.isPendingRemoved()) { return false; }
if (!m_hSimConnect) { return false; }
if (simObject.isPending()) { return false; } // wait until confirmed
if (simObject.getSimDataPeriod() == period) { return true; } // already queried like this
// always request, not only when something has changed