Skip to content

Commit 6124e8e

Browse files
committed
Fix some memory leaks
1 parent 28e7edd commit 6124e8e

4 files changed

Lines changed: 8 additions & 9 deletions

File tree

Source/Plugins/SpikeSorter/SpikeSortBoxes.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2129,7 +2129,7 @@ void PCAjob::computeSVD()
21292129

21302130
// delete covariances
21312131
for (int k = 0; k < dim; k++)
2132-
delete cov[k];
2132+
delete[] cov[k];
21332133

21342134
delete[] cov;
21352135
cov = nullptr;

Source/Plugins/SpikeSorter/SpikeSorter.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,6 @@ Electrode::~Electrode()
219219
delete[] voltageScale;
220220
delete[] channels;
221221
delete[] runningStats;
222-
223-
delete spikeSort;
224-
225222
}
226223

227224
Electrode::Electrode(int ID, UniqueIDgenerator* uniqueIDgenerator_, PCAcomputingThread* pth, String _name, int _numChannels, int* _channels, float default_threshold, int pre, int post, float samplingRate , int sourceId, int subIdx)
@@ -1125,7 +1122,7 @@ void SpikeSorter::addProbes(String probeType,int numProbes, int nElectrodesPerPr
11251122
increaseUniqueProbeID(probeType);
11261123
}
11271124
}
1128-
Array<Electrode*> SpikeSorter::getElectrodes()
1125+
const OwnedArray<Electrode>& SpikeSorter::getElectrodes()
11291126
{
11301127
return electrodes;
11311128
}

Source/Plugins/SpikeSorter/SpikeSorter.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,11 @@ class Electrode
173173

174174
RunningStat* runningStats;
175175
SpikeHistogramPlot* spikePlot;
176-
SpikeSortBoxes* spikeSort;
176+
177177
PCAcomputingThread* computingThread;
178178
UniqueIDgenerator* uniqueIDgenerator;
179+
180+
ScopedPointer<SpikeSortBoxes> spikeSort;
179181
bool isMonitored;
180182
};
181183

@@ -361,7 +363,7 @@ class SpikeSorter : public GenericProcessor
361363
void setElectrodeVoltageScale(int electrodeID, int index, float newvalue);
362364
std::vector<int> getElectrodeChannels(int ID);
363365

364-
Array<Electrode*> getElectrodes();
366+
const OwnedArray<Electrode>& getElectrodes();
365367

366368
std::vector<String> electrodeTypes;
367369

@@ -437,7 +439,7 @@ class SpikeSorter : public GenericProcessor
437439
int& currentChannel);
438440

439441

440-
Array<Electrode*> electrodes;
442+
OwnedArray<Electrode> electrodes;
441443
PCAcomputingThread computingThread;
442444
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SpikeSorter);
443445

Source/Plugins/SpikeSorter/SpikeSorterEditor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ void SpikeSorterEditor::buttonEvent(Button* button)
463463

464464
SpikeSorter* processor = (SpikeSorter*) getProcessor();
465465

466-
Array<Electrode*> electrodes = processor->getElectrodes();
466+
const OwnedArray<Electrode>& electrodes = processor->getElectrodes();
467467

468468
for (int i = 0; i < electrodes.size(); i++)
469469
{

0 commit comments

Comments
 (0)