#14903: Guard other selection item users against deleted result definition

This commit is contained in:
Magne Sjaastad committed 2026-10-12 18:49:08 +02:00
1 parent ec9135b658
commit fb566f112c
3 files changed
+7 -3

No files matched your search

@@ -611,6 +611,7 @@ public:
if ( item->type() == RiuSelectionItem::ECLIPSE_SELECTION_OBJECT )
{
const RiuEclipseSelectionItem* eclipseItem = static_cast<const RiuEclipseSelectionItem*>( item );
if ( !eclipseItem->m_resultDefinition ) continue;
eclipseItem->m_resultDefinition->eclipseCase()
->eclipseCaseData()
@@ -623,6 +624,7 @@ public:
else if ( item->type() == RiuSelectionItem::GEOMECH_SELECTION_OBJECT )
{
const RiuGeoMechSelectionItem* geomechItem = static_cast<const RiuGeoMechSelectionItem*>( item );
if ( !geomechItem->m_resultDefinition ) continue;
validIndex = geomechItem->m_resultDefinition->ownerCaseData()
->femParts()
@@ -1287,7 +1287,8 @@ public:
{
const RiuEclipseSelectionItem* eclipseItem = static_cast<const RiuEclipseSelectionItem*>( item );
if ( eclipseItem->m_resultDefinition->eclipseCase()->caseId() == reservoirCase->caseId() )
if ( eclipseItem->m_resultDefinition && eclipseItem->m_resultDefinition->eclipseCase() &&
eclipseItem->m_resultDefinition->eclipseCase()->caseId() == reservoirCase->caseId() )
{
selectedCells.push_back( std::make_pair( eclipseItem->m_gridIndex, eclipseItem->m_gridLocalCellIndex ) );
}
@@ -1296,7 +1297,8 @@ public:
{
const RiuGeoMechSelectionItem* geomechItem = static_cast<const RiuGeoMechSelectionItem*>( item );
if ( geomechItem->m_resultDefinition->geoMechCase()->caseId() == reservoirCase->caseId() )
if ( geomechItem->m_resultDefinition && geomechItem->m_resultDefinition->geoMechCase() &&
geomechItem->m_resultDefinition->geoMechCase()->caseId() == reservoirCase->caseId() )
{
selectedCells.push_back( std::make_pair( geomechItem->m_gridIndex, geomechItem->m_cellIndex ) );
}
@@ -107,7 +107,7 @@ void RiuMohrsCirclePlot::appendSelection( const RiuSelectionItem* selectionItem
geoMechSelectionItem = extractGeoMechSelectionItem( selectionItem, newFollowAnimView );
if ( geoMechSelectionItem )
if ( geoMechSelectionItem && geoMechSelectionItem->m_resultDefinition )
{
const size_t gridIndex = geoMechSelectionItem->m_gridIndex;
RigFemPart* femPart = geoMechSelectionItem->m_resultDefinition->ownerCaseData()->femParts()->part( gridIndex );