Attached Files | fix-vtksurfacevector-crash.diff [^] (1,216 bytes) 2011-11-05 06:37 [Show Content] [Hide Content]diff --cc VTK
index 9aa84ed,9b133f7..0000000
--- a/VTK
+++ b/VTK
diff --git a/ParaViewCore/VTKExtensions/vtkSurfaceVectors.cxx b/ParaViewCore/VTKExtensions/vtkSurfaceVectors.cxx
index 9b83aae..f462c2e 100644
--- a/ParaViewCore/VTKExtensions/vtkSurfaceVectors.cxx
+++ b/ParaViewCore/VTKExtensions/vtkSurfaceVectors.cxx
@@ -82,6 +82,13 @@ int vtkSurfaceVectors::RequestData(vtkInformation *vtkNotUsed(request),
vtkIdType numPoints, pointId, i, cellId;
numPoints = input->GetNumberOfPoints();
vtkDataArray *inVectors = this->GetInputArrayToProcess(0,inputVector);
+
+ if(!inVectors)
+ {
+ output->ShallowCopy(input);
+ return 1;
+ }
+
vtkDataArray* newVectors = 0;
vtkDoubleArray* newScalars = 0;
vtkIdList* cellIds = vtkIdList::New();
@@ -125,7 +132,7 @@ int vtkSurfaceVectors::RequestData(vtkInformation *vtkNotUsed(request),
cellId = cellIds->GetId(i);
cellType = input->GetCellType(cellId);
if (cellType == VTK_VOXEL || cellType == VTK_POLYGON ||
- cellType == VTK_TRIANGLE || VTK_QUAD)
+ cellType == VTK_TRIANGLE || cellType == VTK_QUAD)
{
input->GetCellPoints(cellId, ptIds);
input->GetPoint(ptIds->GetId(0), p1);
|