From 51ee4a8d1e5df9ed3771fb52dcc59625e100e4f0 Mon Sep 17 00:00:00 2001 From: Aaron Cuevas Lopez <aacuelo@teleco.upv.es> Date: Tue, 7 Nov 2017 01:56:48 +0100 Subject: [PATCH] Fix crash when removing source from merger --- Source/UI/SignalChainManager.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/UI/SignalChainManager.cpp b/Source/UI/SignalChainManager.cpp index 68cee949c..f9426c829 100755 --- a/Source/UI/SignalChainManager.cpp +++ b/Source/UI/SignalChainManager.cpp @@ -229,20 +229,23 @@ void SignalChainManager::updateVisibleEditors(GenericEditor* activeEditor, // std::cout << editorArray.size() << " " << t << std::endl; - bool merger; + bool merger = false; if (editorArray.size() > 0) { // take the next processor in the array GenericProcessor* p2 = (GenericProcessor*) editorArray[0]->getProcessor(); merger = (p2->isMerger() && p2->stillHasSource()); - if (merger) + if (p2->isMerger()) { // std::cout << "We've got a merger!" << std::endl; //p2->switchIO(0); p2->setMergerSourceNode(p->getSourceNode()); - MergerEditor* me = (MergerEditor*) editorArray[0]; - me->switchSource(); + if (p2->stillHasSource()) + { + MergerEditor* me = static_cast<MergerEditor*>(p2->getEditor()); + me->switchSource(); + } // p2->setMergerSourceNode(nullptr); } } -- GitLab