From b300ef505c527bbdf25671358fe7091cab008474 Mon Sep 17 00:00:00 2001 From: jsiegle <jsiegle@mit.edu> Date: Sun, 19 Jan 2014 16:00:17 -0500 Subject: [PATCH] Prevent channel overflow by setting firstChan to 0 --- Source/Processors/SpikeDetector.cpp | 4 ++-- Source/UI/EditorViewport.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/Processors/SpikeDetector.cpp b/Source/Processors/SpikeDetector.cpp index 9bf66fe38..4b4908bea 100755 --- a/Source/Processors/SpikeDetector.cpp +++ b/Source/Processors/SpikeDetector.cpp @@ -105,7 +105,7 @@ bool SpikeDetector::addElectrode(int nChans) int firstChan; - if (electrodes.size() == 0 || !paramsWereLoaded) + if (electrodes.size() == 0) { firstChan = 0; } @@ -117,7 +117,7 @@ bool SpikeDetector::addElectrode(int nChans) if (firstChan + nChans > getNumInputs()) { - return false; + firstChan = 0; // make sure we don't overflow available channels } int currentVal = electrodeCounter[nChans]; diff --git a/Source/UI/EditorViewport.cpp b/Source/UI/EditorViewport.cpp index ea774886f..e57299817 100755 --- a/Source/UI/EditorViewport.cpp +++ b/Source/UI/EditorViewport.cpp @@ -1338,7 +1338,7 @@ const String EditorViewport::loadState(File fileToLoad) // { // return "No configuration selected."; // } - int maxID=100; + int maxID = 100; currentFile = fileToLoad; std::cout << "Loading processor graph." << std::endl; @@ -1518,7 +1518,7 @@ const String EditorViewport::loadState(File fileToLoad) void EditorViewport::setParametersByXML(GenericProcessor* targetProcessor, XmlElement* processorXML) { // Should probably do some error checking to make sure XML is valid, depending on how it treats errors (will likely just not update parameters, but error message could be nice.) - int numberParameters=targetProcessor->getNumParameters(); + int numberParameters = targetProcessor->getNumParameters(); // Ditto channels. Not sure how to handle different channel sizes when variable sources (file reader etc. change). Maybe I should check number of channels vs source, but that requires hardcoding when source matters. //int numChannels=(targetProcessor->channels).size(); //int numEventChannels=(targetProcessor->eventChannels).size(); @@ -1546,7 +1546,7 @@ void EditorViewport::setParametersByXML(GenericProcessor* targetProcessor, XmlEl for (int j = 0; j < numberParameters; ++j) { - parameterNameForXML=targetProcessor->getParameterName(j); + parameterNameForXML = targetProcessor->getParameterName(j); if (parameterXML->getStringAttribute("name")==parameterNameForXML) { -- GitLab