diff --git a/slsDetectorGui/src/qDrawPlot.cpp b/slsDetectorGui/src/qDrawPlot.cpp index 308be8e78..c5ff3f6de 100644 --- a/slsDetectorGui/src/qDrawPlot.cpp +++ b/slsDetectorGui/src/qDrawPlot.cpp @@ -49,8 +49,8 @@ qDrawPlot::~qDrawPlot(){ plot1D_hists.clear(); if(lastImageArray) delete[] lastImageArray; lastImageArray=0; StartOrStopThread(0); - delete myDet; - for(int i=0;i::iterator h = plot1D_hists.begin(); h!=plot1D_hists.end();h++) + for(QVector::iterator h = plot1D_hists.begin(); h!=plot1D_hists.end();h++){ (*h)->Detach(plot1D); + //do not delete *h or h. + } plotHistogram->detach(); } @@ -1719,8 +1721,7 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){ //get trimbits actualPixelsX = myDet->getTotalNumberOfChannels(slsDetectorDefs::X); - if(histTrimbits) delete [] histTrimbits; - histTrimbits = new double[actualPixelsX]; + if(histTrimbits) delete [] histTrimbits; histTrimbits = new double[actualPixelsX]; ret = myDet->getChanRegs(histTrimbits,fromDetector); // cout << "got it!" << endl; if(!ret){ @@ -1896,8 +1897,8 @@ void qDrawPlot::RecalculatePedestal(){ pedestalCount = 0; //create array - if(pedestalVals) delete [] pedestalVals; pedestalVals = new double[nPixelsX*nPixelsY]; - if(tempPedestalVals) delete [] tempPedestalVals; tempPedestalVals = new double[nPixelsX*nPixelsY]; + if(pedestalVals) delete [] pedestalVals; pedestalVals = new double[nPixelsX*nPixelsY]; + if(tempPedestalVals) delete [] tempPedestalVals; tempPedestalVals = new double[nPixelsX*nPixelsY]; //reset all values for(unsigned int px=0;px<(nPixelsX*nPixelsY);px++) pedestalVals[px] = 0; diff --git a/slsDetectorGui/src/qTabActions.cpp b/slsDetectorGui/src/qTabActions.cpp index 80dea2508..f6044683a 100644 --- a/slsDetectorGui/src/qTabActions.cpp +++ b/slsDetectorGui/src/qTabActions.cpp @@ -197,7 +197,7 @@ void qTabActions::SetupWidgetWindow(){ //load positions if(lblName[NumPositions]->isEnabled()){ //delete existing positions - if (positions) delete [] positions; + if (positions) {delete [] positions; positions = NULL;} //get number of positions int numPos=myDet->getPositions(); comboPos->setMaxCount(numPos); @@ -404,7 +404,7 @@ void qTabActions::SetPosition(){ } //delete existing positions - if (positions) delete [] positions; + if (positions) {delete [] positions; positions = NULL;} positions=new double[comboPos->count()]; //copying the list for(int i=0;icount();i++) @@ -483,7 +483,7 @@ void qTabActions::Refresh(){ if(lblName[NumPositions]->isEnabled()){ //delete existing positions - if (positions) delete [] positions; + if (positions) {delete [] positions; positions = NULL;} //get number of positions int numPos=myDet->getPositions(); comboPos->setMaxCount(numPos);