1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00

0026616: Memory leak in IntTools_Context::Hatcher

I. New features:
    No new features

II.2. class IntTools_Context
- method:
Geom2dHatch_Hatcher& IntTools_Context::Hatcher
  (const TopoDS_Face& aF)
- method:
IntTools_SurfaceRangeLocalizeData& IntTools_Context::SurfaceData
  (const TopoDS_Face& aF)

The memory allocation is provided using inner allocator of the object.

II. Modified entities:
packages:
IntTools
This commit is contained in:
pkv 2015-08-31 10:36:20 +03:00 committed by abv
parent fd2f5a2535
commit 5bf1fb8dce

View File

@ -396,10 +396,11 @@ Geom2dHatch_Hatcher& IntTools_Context::Hatcher(const TopoDS_Face& aF)
aEpsT=Precision::PConfusion();
//
Geom2dHatch_Intersector aIntr(aTolArcIntr, aTolTangfIntr);
pHatcher=new Geom2dHatch_Hatcher(aIntr,
aTolHatch2D, aTolHatch3D,
Standard_True, Standard_False);
pHatcher=(Geom2dHatch_Hatcher*)
myAllocator->Allocate(sizeof(Geom2dHatch_Hatcher));
new (pHatcher) Geom2dHatch_Hatcher(aIntr,
aTolHatch2D, aTolHatch3D,
Standard_True, Standard_False);
//
aFF=aF;
aFF.Orientation(TopAbs_FORWARD);
@ -445,7 +446,9 @@ IntTools_SurfaceRangeLocalizeData& IntTools_Context::SurfaceData
IntTools_SurfaceRangeLocalizeData* pSData;
//
if (!myProjSDataMap.IsBound(aF)) {
pSData=new IntTools_SurfaceRangeLocalizeData
pSData=(IntTools_SurfaceRangeLocalizeData*)
myAllocator->Allocate(sizeof(IntTools_SurfaceRangeLocalizeData));
new (pSData) IntTools_SurfaceRangeLocalizeData
(3,
3,
10. * Precision::PConfusion(),