From ebd1afc5d9bc7e31330aa6fc374d2376e3e56500 Mon Sep 17 00:00:00 2001 From: Uwe Date: Sun, 12 Jun 2022 22:18:59 +0200 Subject: [PATCH] [FEM] fix 2 crashes with line and scalar filter - same crash origin like the crash fixed earlier today: https://github.com/FreeCAD/FreeCAD/commit/7b0b83a2e4 --- src/Mod/Fem/App/FemPostFilter.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Mod/Fem/App/FemPostFilter.cpp b/src/Mod/Fem/App/FemPostFilter.cpp index b51d0f23d6..7e693e5817 100644 --- a/src/Mod/Fem/App/FemPostFilter.cpp +++ b/src/Mod/Fem/App/FemPostFilter.cpp @@ -296,6 +296,10 @@ void FemPostDataAlongLineFilter::GetAxisData() { vtkSmartPointer data = m_probe->GetOutputDataObject(0); vtkDataSet* dset = vtkDataSet::SafeDownCast(data); vtkDataArray* pdata = dset->GetPointData()->GetArray(PlotData.getValue()); + // VTK cannot deliver data when the filer relies e.g. on a scalar clip filter + // whose value is set so that all data are clipped + if (!pdata) + return; vtkDataArray* tcoords = dset->GetPointData()->GetTCoords("Texture Coordinates"); vtkIdType component = 0; @@ -522,6 +526,10 @@ void FemPostScalarClipFilter::setConstraintForField() { vtkDataSet* dset = vtkDataSet::SafeDownCast(data); vtkDataArray* pdata = dset->GetPointData()->GetArray(Scalars.getValueAsString()); + // VTK cannot deliver data when the filer relies e.g. on a cut clip filter + // whose value is set so that all data are cut + if (!pdata) + return; double p[2]; pdata->GetRange(p); m_constraints.LowerBound = p[0];