From 1aee40ac343104b8b9a65201471378e3924f67ba Mon Sep 17 00:00:00 2001 From: Aaron Cuevas Lopez <aacuelo@teleco.upv.es> Date: Tue, 24 Mar 2015 23:43:02 +0100 Subject: [PATCH] Add check to removeProcessor to leave out the output node --- .../ProcessorGraph/ProcessorGraph.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Source/Processors/ProcessorGraph/ProcessorGraph.cpp b/Source/Processors/ProcessorGraph/ProcessorGraph.cpp index ee18bf5b2..6a5ff4bce 100644 --- a/Source/Processors/ProcessorGraph/ProcessorGraph.cpp +++ b/Source/Processors/ProcessorGraph/ProcessorGraph.cpp @@ -728,15 +728,15 @@ void ProcessorGraph::removeProcessor(GenericProcessor* processor) //Look for the next source node. If none is found, set the sourceid to 0 for (int i = 0; i < getNumNodes() && newId == 0; i++) { - // Michael Borisov: here, for some reason (bug?) not all processors are of type GenericProcessor - // so we need to do a dynamic cast and check its results - // Otherwise the Release build crashes, and the Debug build fails runtime checks - GenericProcessor* p = dynamic_cast<GenericProcessor*>(getNode(i)->getProcessor()); - //GenericProcessor* p = static_cast<GenericProcessor*>(getNode(i)->getProcessor()); - if (p && p->isSource() && p->generatesTimestamps()) - { - newId = p->nodeId; - } + if (getNode(i)->nodeId != OUTPUT_NODE_ID) + { + GenericProcessor* p = dynamic_cast<GenericProcessor*>(getNode(i)->getProcessor()); + //GenericProcessor* p = static_cast<GenericProcessor*>(getNode(i)->getProcessor()); + if (p && p->isSource() && p->generatesTimestamps()) + { + newId = p->nodeId; + } + } } getMessageCenter()->setSourceNodeId(newId); } -- GitLab