Grid cell time history curves : Guard null pointer access

This commit is contained in:
Magne Sjaastad 2020-04-18 09:20:04 +02:00
parent 3c05fff768
commit e3143eb949
2 changed files with 21 additions and 12 deletions

View File

@ -97,7 +97,7 @@ QString RimEclipseGeometrySelectionItem::geometrySelectionText() const
} }
else else
{ {
text = "No case"; return "No case";
} }
text += ", "; text += ", ";

View File

@ -225,6 +225,8 @@ std::vector<double> RimGridTimeHistoryCurve::yValues() const
RigCaseCellResultsData* cellResultsData = m_eclipseResultDefinition->currentGridCellResults(); RigCaseCellResultsData* cellResultsData = m_eclipseResultDefinition->currentGridCellResults();
if ( cellResultsData )
{
std::vector<QDateTime> timeStepDates = cellResultsData->timeStepDates(); std::vector<QDateTime> timeStepDates = cellResultsData->timeStepDates();
values = RigTimeHistoryResultAccessor::timeHistoryValues( eclTopItem->eclipseCase()->eclipseCaseData(), values = RigTimeHistoryResultAccessor::timeHistoryValues( eclTopItem->eclipseCase()->eclipseCaseData(),
@ -233,6 +235,7 @@ std::vector<double> RimGridTimeHistoryCurve::yValues() const
cellIndex, cellIndex,
timeStepDates.size() ); timeStepDates.size() );
} }
}
if ( geoMechGeomSelectionItem() && geoMechGeomSelectionItem()->geoMechCase() ) if ( geoMechGeomSelectionItem() && geoMechGeomSelectionItem()->geoMechCase() )
{ {
@ -464,6 +467,8 @@ std::vector<time_t> RimGridTimeHistoryCurve::timeStepValues() const
{ {
RigCaseCellResultsData* cellResultsData = m_eclipseResultDefinition->currentGridCellResults(); RigCaseCellResultsData* cellResultsData = m_eclipseResultDefinition->currentGridCellResults();
if ( cellResultsData )
{
std::vector<QDateTime> timeStepDates = cellResultsData->timeStepDates(); std::vector<QDateTime> timeStepDates = cellResultsData->timeStepDates();
for ( QDateTime dt : timeStepDates ) for ( QDateTime dt : timeStepDates )
@ -471,6 +476,7 @@ std::vector<time_t> RimGridTimeHistoryCurve::timeStepValues() const
dateTimes.push_back( dt.toTime_t() ); dateTimes.push_back( dt.toTime_t() );
} }
} }
}
RimGeoMechGeometrySelectionItem* geoMechTopItem = geoMechGeomSelectionItem(); RimGeoMechGeometrySelectionItem* geoMechTopItem = geoMechGeomSelectionItem();
if ( geoMechTopItem && geoMechTopItem->geoMechCase() ) if ( geoMechTopItem && geoMechTopItem->geoMechCase() )
@ -512,8 +518,11 @@ std::vector<double> RimGridTimeHistoryCurve::daysSinceSimulationStart() const
{ {
RigCaseCellResultsData* cellResultsData = m_eclipseResultDefinition->currentGridCellResults(); RigCaseCellResultsData* cellResultsData = m_eclipseResultDefinition->currentGridCellResults();
if ( cellResultsData )
{
daysSinceSimulationStart = cellResultsData->daysSinceSimulationStart(); daysSinceSimulationStart = cellResultsData->daysSinceSimulationStart();
} }
}
RimGeoMechGeometrySelectionItem* geoMechTopItem = geoMechGeomSelectionItem(); RimGeoMechGeometrySelectionItem* geoMechTopItem = geoMechGeomSelectionItem();
if ( geoMechTopItem && geoMechTopItem->geoMechCase() ) if ( geoMechTopItem && geoMechTopItem->geoMechCase() )