0026625: Possible wrong use of vtkSmartPointer<T> in IVtkVTK_ShapeData.cxx
authorrkv <rkv@opencascade.com>
Mon, 9 Nov 2015 14:49:42 +0000 (17:49 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 26 Nov 2015 09:02:09 +0000 (12:02 +0300)
Use vtkSmartPointer<XXX>::New() instead of XXX::New() when initializing fields of vtkSmartPointer<XXX> types.

src/IVtkVTK/IVtkVTK_ShapeData.cxx

index 5f7e4c5..258cee1 100644 (file)
@@ -33,17 +33,17 @@ const char* const IVtkVTK_ShapeData::ARRNAME_MESH_TYPES   = "MESH_TYPES";
 // Purpose  : 
 //================================================================
 IVtkVTK_ShapeData::IVtkVTK_ShapeData()
- : myPolyData( vtkPolyData::New() )
 {
+  myPolyData = vtkSmartPointer<vtkPolyData>::New();
   myPolyData->Allocate();
   myPolyData->SetPoints (vtkPoints::New());
 
-  mySubShapeIDs = vtkIdTypeArray::New();
+  mySubShapeIDs = vtkSmartPointer<vtkIdTypeArray>::New();
   mySubShapeIDs->SetName (IVtkVTK_ShapeData::ARRNAME_SUBSHAPE_IDS);
   mySubShapeIDs->SetNumberOfComponents (1);
   myPolyData->GetCellData()->AddArray (mySubShapeIDs);
 
-  myMeshTypes = vtkIdTypeArray::New();
+  myMeshTypes = vtkSmartPointer<vtkIdTypeArray>::New();
   myMeshTypes->SetName (IVtkVTK_ShapeData::ARRNAME_MESH_TYPES);
   myMeshTypes->SetNumberOfComponents (1);
   myPolyData->GetCellData()->AddArray (myMeshTypes);