Regression Test: Fix null pointer access (#8922)

* #8921 : Guard null pointer access

* #8921 Fix memory leak

Fix similar memory leak as reported in #8918
This commit is contained in:
Magne Sjaastad
2022-05-19 11:51:52 +02:00
committed by GitHub
parent 119367783b
commit 89d42fec88
3 changed files with 8 additions and 14 deletions

View File

@@ -601,7 +601,7 @@ void RimEclipseCase::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderin
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseCase::buildChildNodes() void RimEclipseCase::buildChildNodes()
{ {
m_resultAddressCollections.clear(); m_resultAddressCollections.deleteAllChildObjects();
std::vector<RiaDefines::ResultCatType> resultTypes = { RiaDefines::ResultCatType::STATIC_NATIVE, std::vector<RiaDefines::ResultCatType> resultTypes = { RiaDefines::ResultCatType::STATIC_NATIVE,
RiaDefines::ResultCatType::DYNAMIC_NATIVE, RiaDefines::ResultCatType::DYNAMIC_NATIVE,
@@ -614,10 +614,14 @@ void RimEclipseCase::buildChildNodes()
QString name = caf::AppEnum<RiaDefines::ResultCatType>::uiText( resultType ); QString name = caf::AppEnum<RiaDefines::ResultCatType>::uiText( resultType );
resultAddressCollection->setName( name ); resultAddressCollection->setName( name );
QStringList resultNames = results( RiaDefines::PorosityModelType::MATRIX_MODEL )->resultNames( resultType ); auto cellResultData = results( RiaDefines::PorosityModelType::MATRIX_MODEL );
for ( auto resultName : resultNames ) if ( cellResultData )
{ {
resultAddressCollection->addAddress( resultName, resultType, this ); QStringList resultNames = cellResultData->resultNames( resultType );
for ( auto resultName : resultNames )
{
resultAddressCollection->addAddress( resultName, resultType, this );
}
} }
m_resultAddressCollections.push_back( resultAddressCollection ); m_resultAddressCollections.push_back( resultAddressCollection );

View File

@@ -70,14 +70,6 @@ void RimEclipseResultAddressCollection::addAddress( const QString& re
m_adresses.push_back( addr ); m_adresses.push_back( addr );
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseResultAddressCollection::clear()
{
m_adresses.clear();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@@ -42,8 +42,6 @@ public:
bool isEmpty() const; bool isEmpty() const;
void clear();
private: private:
caf::PdmChildArrayField<RimEclipseResultAddress*> m_adresses; caf::PdmChildArrayField<RimEclipseResultAddress*> m_adresses;
caf::PdmField<caf::AppEnum<RiaDefines::ResultCatType>> m_resultType; caf::PdmField<caf::AppEnum<RiaDefines::ResultCatType>> m_resultType;