diff --git a/ApplicationLibCode/ProjectDataModel/Flow/RimWellAllocationPlot.cpp b/ApplicationLibCode/ProjectDataModel/Flow/RimWellAllocationPlot.cpp index 877ee9cf6f..e9c331665a 100644 --- a/ApplicationLibCode/ProjectDataModel/Flow/RimWellAllocationPlot.cpp +++ b/ApplicationLibCode/ProjectDataModel/Flow/RimWellAllocationPlot.cpp @@ -439,8 +439,13 @@ void RimWellAllocationPlot::updateFromWell() QString wellStatusText = QString( "(%1)" ).arg( RimWellAllocationPlot::wellStatusTextForTimeStep( m_wellName, m_case, m_timeStep ) ); QString flowTypeText = m_flowDiagSolution() ? "Well Allocation" : "Well Flow"; - setDescription( flowTypeText + ": " + m_wellName + " " + wellStatusText + ", " + m_case->timeStepStrings()[m_timeStep] + " (" + - m_case->caseUserDescription() + ")" ); + + // The stored time step can be out of range if the case has been replaced by a case with fewer time steps + const QStringList timeStepNames = m_case->timeStepStrings(); + QString timeStepText; + if ( m_timeStep() >= 0 && m_timeStep() < timeStepNames.size() ) timeStepText = timeStepNames[m_timeStep]; + + setDescription( flowTypeText + ": " + m_wellName + " " + wellStatusText + ", " + timeStepText + " (" + m_case->caseUserDescription() + ")" ); /// Pie chart diff --git a/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp b/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp index 72c800c2cc..6b11a4853c 100644 --- a/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp +++ b/ApplicationLibCode/ProjectDataModel/GridCrossPlots/RimGridCrossPlotDataSet.cpp @@ -465,7 +465,11 @@ QString RimGridCrossPlotDataSet::timeStepString() const { return "All Time Steps"; } - return m_case->timeStepStrings()[m_timeStep]; + + // The stored time step can be out of range if the data set has been switched to a case with fewer time steps + const QStringList timeStepNames = m_case->timeStepStrings(); + if ( m_timeStep() >= 0 && m_timeStep() < timeStepNames.size() ) return timeStepNames[m_timeStep]; + return ""; } } return ""; diff --git a/ApplicationLibCode/ProjectDataModel/Histogram/RimGridStatisticsHistogramDataSource.cpp b/ApplicationLibCode/ProjectDataModel/Histogram/RimGridStatisticsHistogramDataSource.cpp index 8d2de24390..bd46fe1687 100644 --- a/ApplicationLibCode/ProjectDataModel/Histogram/RimGridStatisticsHistogramDataSource.cpp +++ b/ApplicationLibCode/ProjectDataModel/Histogram/RimGridStatisticsHistogramDataSource.cpp @@ -253,7 +253,10 @@ std::string RimGridStatisticsHistogramDataSource::name() const if ( m_case() && m_property->hasDynamicResult() ) { if ( m_timeStep == -1 ) return "All Time Steps"; - return m_case->timeStepStrings()[m_timeStep]; + + // The stored time step can be out of range if the case has been replaced by a case with fewer time steps + const QStringList timeStepNames = m_case->timeStepStrings(); + if ( m_timeStep() >= 0 && m_timeStep() < timeStepNames.size() ) return timeStepNames[m_timeStep]; } return "";