From bf7b064bbe58b129e9f52d22df4a782b6c122bce Mon Sep 17 00:00:00 2001 From: James Turner Date: Tue, 11 Aug 2020 17:17:58 +0100 Subject: [PATCH] Ensure SGTerraSync::unbind drops all properties Avoid some noise on reset, by dropping /all/ our SGPropertyNodes --- simgear/scene/tsync/terrasync.cxx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/simgear/scene/tsync/terrasync.cxx b/simgear/scene/tsync/terrasync.cxx index ef722538..b07f1819 100644 --- a/simgear/scene/tsync/terrasync.cxx +++ b/simgear/scene/tsync/terrasync.cxx @@ -830,6 +830,12 @@ SGTerraSync::~SGTerraSync() void SGTerraSync::setRoot(SGPropertyNode_ptr root) { + if (!root) { + _terraRoot.clear(); + _renderingRoot.clear(); + return; + } + _terraRoot = root->getNode("/sim/terrasync",true); _renderingRoot = root->getNode("/sim/rendering", true); } @@ -935,7 +941,20 @@ void SGTerraSync::unbind() _terraRoot.clear(); _stalledNode.clear(); + _activeNode.clear(); _cacheHits.clear(); + _renderingRoot.clear(); + _busyNode.clear(); + _updateCountNode.clear(); + _errorCountNode.clear(); + _tileCountNode.clear(); + _cacheHitsNode.clear(); + _transferRateBytesSecNode.clear(); + _pendingKbytesNode.clear(); + _downloadedKBtesNode.clear(); + _enabledNode.clear(); + _availableNode.clear(); + _maxErrorsNode.clear(); } void SGTerraSync::update(double)