diff --git a/Source/Processors/ProcessorGraph/ProcessorGraph.cpp b/Source/Processors/ProcessorGraph/ProcessorGraph.cpp index e7c7f8d851761e5d5afa90734cd30ee0fd796ce3..ee18bf5b29fc59b32b4489e7ba932fcaea431ee1 100644 --- a/Source/Processors/ProcessorGraph/ProcessorGraph.cpp +++ b/Source/Processors/ProcessorGraph/ProcessorGraph.cpp @@ -728,8 +728,12 @@ 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++) { - GenericProcessor* p = static_cast<GenericProcessor*>(getNode(i)->getProcessor()); - if (p->isSource() && p->generatesTimestamps()) + // 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; } diff --git a/Source/UI/EditorViewport.cpp b/Source/UI/EditorViewport.cpp index ff2724befd9b58c892eb3005f6ca54d0fa05f1e7..14c395fabe40c92cff6431ed666eb51b7b494179 100755 --- a/Source/UI/EditorViewport.cpp +++ b/Source/UI/EditorViewport.cpp @@ -459,6 +459,7 @@ void EditorViewport::refreshEditors() } } + // BUG: variable is used without being initialized if (tooLong && editorArray.size() > 0) rightButton->setActive(true); else