[FSD] Don't use CCallsign object to send incremental parts update to special receiver

A client query can be sent to any type of receiver,
not only to valid callsigns. For example also to "@94835".

This fixes the corrupted receiver for incremental aircraft parts.
This commit is contained in:
Roland Rossgotterer
2019-10-27 20:57:04 +01:00
committed by Mat Sutcliffe
parent 0e9297ff5f
commit 0b8db1a612
2 changed files with 22 additions and 3 deletions

View File

@@ -623,7 +623,9 @@ namespace BlackCore
void CFSDClient::sendAircraftConfiguration(const QString &receiver, const QString &aircraftConfigJson)
{
sendClientQuery(ClientQueryType::AircraftConfig, receiver, { aircraftConfigJson });
if (aircraftConfigJson.size() == 0) { return; }
const ClientQuery clientQuery(m_ownCallsign.asString(), receiver, ClientQueryType::AircraftConfig, { aircraftConfigJson });
sendMessage(clientQuery);
}
void CFSDClient::sendFsdMessage(const QString &message)
@@ -766,8 +768,7 @@ namespace BlackCore
void CFSDClient::sendIncrementalAircraftConfig()
{
if (!this->isConnected()) { return; }
if (!this->getSetupForServer().sendAircraftParts()) { return; }
if (!m_unitTestMode && (!this->isConnected() || !this->getSetupForServer().sendAircraftParts())) { return; }
const CAircraftParts currentParts(this->getOwnAircraftParts());
// If it hasn't changed, return