From 21d1f40f594442121272f1c797761f13d3e47683 Mon Sep 17 00:00:00 2001 From: David Kelly Date: Fri, 4 Nov 2016 13:15:02 -0700 Subject: [PATCH] Seems we were not deleting the right hrtfs when a node is killed Simple fix, just make sure we delete the hrtfs associated with the killedNode. The test is to delete some nodes (agents) and make sure nothing bad happens to audio mixer, or the audio itself. --- assignment-client/src/audio/AudioMixer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index 2ea1c978c8..d785579c38 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -591,10 +591,10 @@ void AudioMixer::handleNodeKilled(SharedNodePointer killedNode) { // enumerate the connected listeners to remove HRTF objects for the disconnected node auto nodeList = DependencyManager::get(); - nodeList->eachNode([](const SharedNodePointer& node) { + nodeList->eachNode([&killedNode](const SharedNodePointer& node) { auto clientData = dynamic_cast(node->getLinkedData()); if (clientData) { - clientData->removeHRTFsForNode(node->getUUID()); + clientData->removeHRTFsForNode(killedNode->getUUID()); } }); }