diff --git a/src/Mod/Fem/App/FemPostPipeline.cpp b/src/Mod/Fem/App/FemPostPipeline.cpp index da96ec72e1..1ea91e1286 100644 --- a/src/Mod/Fem/App/FemPostPipeline.cpp +++ b/src/Mod/Fem/App/FemPostPipeline.cpp @@ -571,6 +571,9 @@ void FemPostPipeline::setTimeInfo(const std::string& frameType, const Base::Unit fd_block->AddArray(timeInfo); for (unsigned int i = 0; i < multiblock->GetNumberOfBlocks(); ++i) { vtkDataObject* grid = multiblock->GetBlock(i); + if (!grid) { + continue; + } auto fd_grid = grid->GetFieldData(); if (fd_grid) { // add time info to each grid diff --git a/src/Mod/Fem/App/VTKExtensions/vtkFemFrameSourceAlgorithm.cpp b/src/Mod/Fem/App/VTKExtensions/vtkFemFrameSourceAlgorithm.cpp index 122a3fd175..31b5eb1a51 100644 --- a/src/Mod/Fem/App/VTKExtensions/vtkFemFrameSourceAlgorithm.cpp +++ b/src/Mod/Fem/App/VTKExtensions/vtkFemFrameSourceAlgorithm.cpp @@ -80,10 +80,9 @@ std::vector vtkFemFrameSourceAlgorithm::getFrameValues() std::vector tFrames(nblocks); for (unsigned long i = 0; i < nblocks; i++) { - vtkDataObject* block = multiblock->GetBlock(i); // check if the TimeValue field is available - if (!block->GetFieldData()->HasArray("TimeValue")) { + if (!block || !block->GetFieldData() || !block->GetFieldData()->HasArray("TimeValue")) { // a frame with no valid value is a undefined state return std::vector(); } @@ -94,7 +93,6 @@ std::vector vtkFemFrameSourceAlgorithm::getFrameValues() // a frame with no valid value is a undefined state return std::vector(); } - tFrames[i] = vtkFloatArray::SafeDownCast(TimeValue)->GetValue(0); }