From ba8ec3cf9d315bea1170b7e2b34c2145e9bb079f Mon Sep 17 00:00:00 2001
From: Aaron Cuevas Lopez <aacuelo@teleco.upv.es>
Date: Thu, 2 Nov 2017 21:06:04 -0700
Subject: [PATCH] Fix more memory leaks

---
 Source/Plugins/SpikeSorter/SpikeSortBoxes.cpp | 1 +
 Source/Plugins/SpikeSorter/SpikeSorter.cpp    | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/Source/Plugins/SpikeSorter/SpikeSortBoxes.cpp b/Source/Plugins/SpikeSorter/SpikeSortBoxes.cpp
index 07fa1baa7..a2191529d 100644
--- a/Source/Plugins/SpikeSorter/SpikeSortBoxes.cpp
+++ b/Source/Plugins/SpikeSorter/SpikeSortBoxes.cpp
@@ -882,6 +882,7 @@ void SpikeSortBoxes::projectOnPrincipalComponents(SorterSpikePtr so)
         if ((spikeBufferIndex == bufferSize -1 && !bPCAcomputed && !bPCAJobSubmitted) || bRePCA)
         {
             bPCAJobSubmitted = true;
+	    bPCAcomputed = false;
             bRePCA = false;
             // submit a new job to compute the spike buffer.
             PCAJobPtr job = new PCAjob(spikeBuffer,pc1,pc2, pc1min, pc2min, pc1max, pc2max, bPCAjobFinished);
diff --git a/Source/Plugins/SpikeSorter/SpikeSorter.cpp b/Source/Plugins/SpikeSorter/SpikeSorter.cpp
index fc182f087..b95f8cede 100644
--- a/Source/Plugins/SpikeSorter/SpikeSorter.cpp
+++ b/Source/Plugins/SpikeSorter/SpikeSorter.cpp
@@ -463,6 +463,7 @@ bool SpikeSorter::addElectrode(int nChans, String name, double Depth)
         eventlog += String(chans[k])+ " " + name;
 
     //addNetworkEventToQueue(StringTS(eventlog));
+    delete[] chans;
 
     resetElectrode(newElectrode);
     electrodes.add(newElectrode);
@@ -1302,6 +1303,9 @@ void SpikeSorter::loadCustomParametersFromXml()
                             newElectrode->thresholds[k] = thres[k];
                             newElectrode->isActive[k] = isActive[k];
                         }
+			delete[] channels;
+			delete[] thres;
+			delete[] isActive;
 
                         newElectrode->advancerID = advancerID;
                         newElectrode->depthOffsetMM = depthOffsetMM;
-- 
GitLab