1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-16 10:08:36 +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(); aEpsT=Precision::PConfusion();
// //
Geom2dHatch_Intersector aIntr(aTolArcIntr, aTolTangfIntr); Geom2dHatch_Intersector aIntr(aTolArcIntr, aTolTangfIntr);
pHatcher=new Geom2dHatch_Hatcher(aIntr, pHatcher=(Geom2dHatch_Hatcher*)
myAllocator->Allocate(sizeof(Geom2dHatch_Hatcher));
new (pHatcher) Geom2dHatch_Hatcher(aIntr,
aTolHatch2D, aTolHatch3D, aTolHatch2D, aTolHatch3D,
Standard_True, Standard_False); Standard_True, Standard_False);
// //
aFF=aF; aFF=aF;
aFF.Orientation(TopAbs_FORWARD); aFF.Orientation(TopAbs_FORWARD);
@ -445,7 +446,9 @@ IntTools_SurfaceRangeLocalizeData& IntTools_Context::SurfaceData
IntTools_SurfaceRangeLocalizeData* pSData; IntTools_SurfaceRangeLocalizeData* pSData;
// //
if (!myProjSDataMap.IsBound(aF)) { if (!myProjSDataMap.IsBound(aF)) {
pSData=new IntTools_SurfaceRangeLocalizeData pSData=(IntTools_SurfaceRangeLocalizeData*)
myAllocator->Allocate(sizeof(IntTools_SurfaceRangeLocalizeData));
new (pSData) IntTools_SurfaceRangeLocalizeData
(3, (3,
3, 3,
10. * Precision::PConfusion(), 10. * Precision::PConfusion(),