fix: 修复 GiDrawUtility::DrawPipe 每次画管泄漏 region #61
@@ -674,7 +674,6 @@ AcDbEntity* GiDrawUtility::DrawPipe(const AcGePoint3d& ptFrom
|
||||
{
|
||||
AcDbCircle Cir1(AcGePoint3d::kOrigin, AcGeVector3d::kZAxis, dRadius);
|
||||
|
||||
if (!createRegion(&Cir1)) return NULL;
|
||||
AcDbRegion *pBig = createRegion(&Cir1);
|
||||
if (!pBig) return NULL;
|
||||
|
||||
@@ -683,7 +682,11 @@ AcDbEntity* GiDrawUtility::DrawPipe(const AcGePoint3d& ptFrom
|
||||
{
|
||||
AcDbCircle Cir2(AcGePoint3d::kOrigin, AcGeVector3d::kZAxis, dRadius - dThick);
|
||||
pSml = createRegion(&Cir2);
|
||||
if (!pSml) return NULL;
|
||||
if (!pSml)
|
||||
{
|
||||
DELETE_PTR(pBig);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// 这里做一个布尔减
|
||||
@@ -696,6 +699,7 @@ AcDbEntity* GiDrawUtility::DrawPipe(const AcGePoint3d& ptFrom
|
||||
DELETE_PTR(pSml);
|
||||
return NULL;
|
||||
}
|
||||
DELETE_PTR(pSml);
|
||||
}
|
||||
|
||||
AcDbRegion *pRegion(pBig);
|
||||
|
||||
Reference in new issue
Block a user