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) if (parentWellPath != nullptr)
{ {
parentWellPath->removeWellLogFile(wellLogFile); parentWellPath->deleteWellLogFile(wellLogFile);
} }
parentWellPath->updateConnectedEditors(); 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++) 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; break;
} }
} }

View File

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