WellLogPath. Fix memory leak

This commit is contained in:
Bjørn Erik Jensen
2017-10-25 20:20:12 +02:00
parent e7ced4f59b
commit fcefa1e55b
3 changed files with 6 additions and 5 deletions

View File

@@ -53,7 +53,7 @@ void RicWellLogFileCloseFeature::onActionTriggered(bool isChecked)
if (parentWellPath != nullptr)
{
parentWellPath->removeWellLogFile(wellLogFile);
parentWellPath->deleteWellLogFile(wellLogFile);
}
parentWellPath->updateConnectedEditors();
}

View File

@@ -653,13 +653,14 @@ void RimWellPath::addWellLogFile(RimWellLogFile* logFileInfo)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellPath::removeWellLogFile(const RimWellLogFile* logFileInfo)
void RimWellPath::deleteWellLogFile(RimWellLogFile* logFileInfo)
{
auto pdmObject = dynamic_cast<caf::PdmObjectHandle*>(logFileInfo);
for (size_t i = 0; i < m_wellLogFiles.size(); i++)
{
if (m_wellLogFiles[i] == logFileInfo)
if (m_wellLogFiles[i] == pdmObject)
{
m_wellLogFiles.erase(i);
m_wellLogFiles.removeChildObject(pdmObject);
break;
}
}

View File

@@ -65,7 +65,7 @@ public:
virtual ~RimWellPath();
void addWellLogFile(RimWellLogFile* logFileInfo);
void removeWellLogFile(const RimWellLogFile* logFileInfo);
void deleteWellLogFile(RimWellLogFile* logFileInfo);
virtual caf::PdmFieldHandle* userDescriptionField();
virtual caf::PdmFieldHandle* objectToggleField();