Merge pull request 'fix: 修复 GiDrawUtility::DrawPipe 每次画管泄漏 region' (#61) from home-lenovo-legion-r9000/fix/gidrawutility-pipe-region-leak into main

Reviewed-on: #61
Reviewed-by: gjm <littleoldpan@163.com>
This commit was merged in pull request #61.
This commit is contained in:
gjm committed 2026-10-25 18:01:16 +08:00
commit fd422a0255
1 file changed
+6 -2
@@ -674,7 +674,6 @@ AcDbEntity* GiDrawUtility::DrawPipe(const AcGePoint3d& ptFrom
{ {
AcDbCircle Cir1(AcGePoint3d::kOrigin, AcGeVector3d::kZAxis, dRadius); AcDbCircle Cir1(AcGePoint3d::kOrigin, AcGeVector3d::kZAxis, dRadius);
if (!createRegion(&Cir1)) return NULL;
AcDbRegion *pBig = createRegion(&Cir1); AcDbRegion *pBig = createRegion(&Cir1);
if (!pBig) return NULL; if (!pBig) return NULL;
@@ -683,7 +682,11 @@ AcDbEntity* GiDrawUtility::DrawPipe(const AcGePoint3d& ptFrom
{ {
AcDbCircle Cir2(AcGePoint3d::kOrigin, AcGeVector3d::kZAxis, dRadius - dThick); AcDbCircle Cir2(AcGePoint3d::kOrigin, AcGeVector3d::kZAxis, dRadius - dThick);
pSml = createRegion(&Cir2); 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); DELETE_PTR(pSml);
return NULL; return NULL;
} }
DELETE_PTR(pSml);
} }
AcDbRegion *pRegion(pBig); AcDbRegion *pRegion(pBig);