mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fix memory leak for data source ensemble summary (#8919)
* Do not create summary case group twice * Fix memory leak of objects contained in childArrayFields Use deleteAllChildObjects to delete objects instead of clear() Rename collection function clear() -> deleteAllChildObjects * Early exit for empty path * Reduce redundant calls to refreshMetaData
This commit is contained in:
parent
558d675d44
commit
119367783b
@ -112,7 +112,6 @@ void RicImportEnsembleFeature::importSingleEnsemble( const QStringList&
|
||||
|
||||
if ( cases.empty() ) return;
|
||||
|
||||
RicImportSummaryCasesFeature::addSummaryCases( cases );
|
||||
RimSummaryCaseCollection* ensemble =
|
||||
RicCreateSummaryCaseCollectionFeature::groupSummaryCases( cases, ensembleName, true );
|
||||
|
||||
|
@ -225,6 +225,7 @@ void RimFileSummaryCase::defineEditorAttribute( const caf::PdmFieldHandle* field
|
||||
void RimFileSummaryCase::openAndAttachAdditionalReader()
|
||||
{
|
||||
QString additionalSummaryFilePath = m_additionalSummaryFilePath().path();
|
||||
if ( additionalSummaryFilePath.isEmpty() ) return;
|
||||
|
||||
cvf::ref<RifOpmCommonEclipseSummary> opmCommonReader = new RifOpmCommonEclipseSummary;
|
||||
opmCommonReader->useEnhancedSummaryFiles( true );
|
||||
|
@ -333,10 +333,10 @@ RimSummaryAddressCollection* RimSummaryAddressCollection::getOrCreateSubfolder(
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryAddressCollection::clear()
|
||||
void RimSummaryAddressCollection::deleteAllChildObjects()
|
||||
{
|
||||
m_adresses.clear();
|
||||
m_subfolders.clear();
|
||||
m_adresses.deleteAllChildObjects();
|
||||
m_subfolders.deleteAllChildObjects();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -64,7 +64,7 @@ public:
|
||||
|
||||
void updateFolderStructure( const std::set<RifEclipseSummaryAddress>& addresses, int caseId, int ensembleId = -1 );
|
||||
|
||||
void clear();
|
||||
void deleteAllChildObjects();
|
||||
|
||||
bool isEmpty() const;
|
||||
bool isEnsemble() const;
|
||||
|
@ -222,7 +222,7 @@ QString RimSummaryCase::errorMessagesFromReader()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCase::buildChildNodes()
|
||||
{
|
||||
m_dataVectorFolders->clear();
|
||||
m_dataVectorFolders->deleteAllChildObjects();
|
||||
|
||||
RifSummaryReaderInterface* reader = summaryReader();
|
||||
if ( !reader ) return;
|
||||
@ -322,8 +322,6 @@ void RimSummaryCase::initAfterRead()
|
||||
}
|
||||
|
||||
updateOptionSensitivity();
|
||||
|
||||
refreshMetaData();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -1098,5 +1098,5 @@ void RimSummaryCaseCollection::refreshMetaData()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCaseCollection::clearChildNodes()
|
||||
{
|
||||
m_dataVectorFolders->clear();
|
||||
m_dataVectorFolders->deleteAllChildObjects();
|
||||
}
|
||||
|
@ -656,7 +656,6 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
|
||||
newSumCase->setAssociatedEclipseCase( eclCase );
|
||||
newSumCase->updateOptionSensitivity();
|
||||
project->assignCaseIdToSummaryCase( newSumCase );
|
||||
newSumCase->refreshMetaData();
|
||||
sumCases.push_back( newSumCase );
|
||||
}
|
||||
else
|
||||
@ -671,7 +670,6 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
|
||||
newSumCase->setSummaryHeaderFileName( smspecFileName );
|
||||
newSumCase->updateOptionSensitivity();
|
||||
project->assignCaseIdToSummaryCase( newSumCase );
|
||||
newSumCase->refreshMetaData();
|
||||
|
||||
sumCases.push_back( newSumCase );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user