mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-01 00:46:20 -05:00
Fix crash in test
This commit is contained in:
parent
0683528d9a
commit
cb29b2e6ef
@ -120,9 +120,7 @@ QgsGeometry::OperationResult QgsGeometryEditUtils::addPart( QgsAbstractGeometry
|
||||
if ( QgsWkbTypes::flatType( geom->wkbType() ) == QgsWkbTypes::MultiSurface
|
||||
|| QgsWkbTypes::flatType( geom->wkbType() ) == QgsWkbTypes::MultiPolygon )
|
||||
{
|
||||
std::unique_ptr<QgsCurve> curve( qgsgeometry_cast<QgsCurve *>( part.get() ) );
|
||||
if ( curve )
|
||||
part.release();
|
||||
QgsCurve *curve = qgsgeometry_cast<QgsCurve *>( part.get() );
|
||||
|
||||
if ( curve && curve->isClosed() && curve->numPoints() >= 4 )
|
||||
{
|
||||
@ -135,7 +133,10 @@ QgsGeometry::OperationResult QgsGeometryEditUtils::addPart( QgsAbstractGeometry
|
||||
{
|
||||
poly.reset( new QgsCurvePolygon() );
|
||||
}
|
||||
poly->setExteriorRing( curve.release() );
|
||||
// Ownership is still with part, curve points to the same object and is transferred
|
||||
// to poly here.
|
||||
part.release();
|
||||
poly->setExteriorRing( curve );
|
||||
added = geomCollection->addGeometry( poly.release() );
|
||||
}
|
||||
else if ( QgsWkbTypes::flatType( part->wkbType() ) == QgsWkbTypes::Polygon )
|
||||
|
Loading…
x
Reference in New Issue
Block a user