Skip to content

Commit d63ff02

Browse files
committed
Ensure processor nodes are deleted when removed from ProccesorGraph
1 parent 1075b3f commit d63ff02

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

Source/Processors/ProcessorGraph/ProcessorGraph.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,14 @@ void ProcessorGraph::clearSignalChain()
664664
std::unique_ptr<GenericEditor> editor;
665665
editor.swap(processor->editor);
666666
editor.reset();
667+
667668
Node::Ptr node = removeNode(nodeId);
669+
670+
// Decrement reference count for the node
671+
// Ensures processor destructor gets called
672+
while (node->getReferenceCount() > 1)
673+
node->decReferenceCount();
674+
668675
node.reset();
669676
}
670677

@@ -1356,6 +1363,12 @@ void ProcessorGraph::removeProcessor(GenericProcessor* processor)
13561363
editor.reset();
13571364

13581365
Node::Ptr node = removeNode(nodeId);
1366+
1367+
// Decrement reference count for the node
1368+
// Ensures processor destructor gets called
1369+
while (node->getReferenceCount() > 1)
1370+
node->decReferenceCount();
1371+
13591372
node.reset();
13601373

13611374
}

0 commit comments

Comments
 (0)