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