Check for valid pointer before accessing cell result data

p4#: 21359
This commit is contained in:
Magne Sjaastad 2013-04-22 13:25:32 +02:00
parent ea45e6f072
commit d825b0654c
2 changed files with 9 additions and 7 deletions

View File

@ -272,7 +272,7 @@ void RimReservoirView::updateViewerWidgetWindowTitle()
void RimReservoirView::clampCurrentTimestep()
{
// Clamp the current timestep to actual possibilities
if (this->currentGridCellResults()->cellResults())
if (this->currentGridCellResults() && this->currentGridCellResults()->cellResults())
{
if (m_currentTimeStep() >= static_cast<int>(this->currentGridCellResults()->cellResults()->maxTimeStepCount()))
{

View File

@ -166,9 +166,9 @@ bool RimResultDefinition::hasResult() const
{
if (m_gridScalarResultIndex != cvf::UNDEFINED_SIZE_T) return true;
const RigCaseCellResultsData* gridCellResults = m_reservoirView->currentGridCellResults()->cellResults();
if (gridCellResults)
if (m_reservoirView->currentGridCellResults() && m_reservoirView->currentGridCellResults()->cellResults())
{
const RigCaseCellResultsData* gridCellResults = m_reservoirView->currentGridCellResults()->cellResults();
m_gridScalarResultIndex = gridCellResults->findScalarResultIndex(resultType(), resultVariable());
return m_gridScalarResultIndex != cvf::UNDEFINED_SIZE_T;
}
@ -182,8 +182,6 @@ bool RimResultDefinition::hasResult() const
//--------------------------------------------------------------------------------------------------
bool RimResultDefinition::hasDynamicResult() const
{
const RigCaseCellResultsData* gridCellResults = m_reservoirView->currentGridCellResults()->cellResults();
if (hasResult())
{
if (resultType() == RimDefines::DYNAMIC_NATIVE)
@ -191,9 +189,13 @@ bool RimResultDefinition::hasDynamicResult() const
return true;
}
if (gridCellResults->timeStepCount(m_gridScalarResultIndex) > 1 )
if (m_reservoirView->currentGridCellResults() && m_reservoirView->currentGridCellResults()->cellResults())
{
return true;
const RigCaseCellResultsData* gridCellResults = m_reservoirView->currentGridCellResults()->cellResults();
if (gridCellResults->timeStepCount(m_gridScalarResultIndex) > 1 )
{
return true;
}
}
}