Remove memory leak, Simplified code

This commit is contained in:
Jacob Støren 2017-11-17 11:08:55 +01:00
parent 6951000145
commit 503c7bf37c
3 changed files with 12 additions and 14 deletions

View File

@ -493,21 +493,19 @@ void RimWellRftPlot::updateCurvesInPlot(const std::set<RiaRftPltCurveDefinition>
auto gridCase = curveDefToAdd.address().eclCase();
if (gridCase != nullptr)
{
std::pair<size_t, QString> resultDataInfo = RimWellPlotTools::pressureResultDataInfo(gridCase->eclipseCaseData());
// Case
curve->setCase(gridCase);
// Result definition
RimEclipseResultDefinition* resultDef = new RimEclipseResultDefinition(); // Memory leak !!
resultDef->setResultVariable(resultDataInfo.second);
curve->setEclipseResultDefinition(resultDef); // Strange construct ?
curve->setEclipseResultVariable("PRESSURE");
// Time step
const std::set<QDateTime>& timeSteps = RimWellPlotTools::timeStepsFromGridCase(gridCase);
auto currentTimeStepItr = std::find_if(timeSteps.begin(), timeSteps.end(),
[curveDefToAdd](const QDateTime& timeStep) {return timeStep == curveDefToAdd.timeStep(); });
auto currentTimeStepIndex = std::distance(timeSteps.begin(), currentTimeStepItr);
std::vector<QDateTime> timeSteps = gridCase->eclipseCaseData()->results(RiaDefines::MATRIX_MODEL)->timeStepDates();
int currentTimeStepIndex = -1;
for (size_t tsIdx = 0; tsIdx < timeSteps.size(); ++tsIdx)
{
if (timeSteps[tsIdx] == curveDefToAdd.timeStep()){ currentTimeStepIndex = static_cast<int>(tsIdx); break;}
}
curve->setCurrentTimeStep(currentTimeStepIndex);
curve->setZOrder(0);

View File

@ -919,7 +919,7 @@ void RimWellLogExtractionCurve::setCurrentTimeStep(int timeStep)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogExtractionCurve::setEclipseResultDefinition(const RimEclipseResultDefinition* def)
void RimWellLogExtractionCurve::setEclipseResultVariable(const QString& resVarname)
{
m_eclipseResultDefinition->simpleCopy(def);
m_eclipseResultDefinition->setResultVariable(resVarname);
}

View File

@ -66,7 +66,7 @@ public:
int currentTimeStep() const;
void setCurrentTimeStep(int timeStep);
void setEclipseResultDefinition(const RimEclipseResultDefinition* def);
void setEclipseResultVariable(const QString& resVarname);
protected:
virtual QString createCurveAutoName();