Merge pull request 'fix: 曲线通道重建截面时防崩溃' (#34) from company-desktop-computer/fix/ewpipebase-curve-read-guard into main

Reviewed-on: #34
Reviewed-by: gjm <littleoldpan@163.com>
This commit was merged in pull request #34.
This commit is contained in:
gjm committed 2026-10-22 10:26:58 +08:00
commit 8110cad4c0
1 file changed
+5 -3
@@ -771,17 +771,19 @@ AcDbRegion *AecDbEwPipeBase::RegionFromCurvesDwgInFields(AcDbDwgFiler *pFiler, A
arRegPtrs.removeAt(nPos);
}
Acad::ErrorStatus es;
for (int j = 0;j < arRegPtrs.length();j++)
{
pRegion = (AcDbRegion*)arRegPtrs.at(j);
if (isRegionNull(pRegion) && isRegionNull(pRegionBig))
// 任一 region 无效就跳过,无效 region 参与布尔运算可能让 ACIS 崩溃
if (isRegionNull(pRegion) || isRegionNull(pRegionBig))
{
delete pRegion;
continue;
}
es = pRegionBig->booleanOper(AcDb::kBoolSubtract, pRegion);
rawBooleanOperWrapper(pRegionBig, pRegion, AcDb::kBoolSubtract);
delete pRegion;
}
return pRegionBig;
}