Skip to content

Commit 2df4bdc

Browse files
committedJul 12, 2013
split geometry: cleanup parts if split failed (followup 6272274)
1 parent 6023bdc commit 2df4bdc

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed
 

‎src/core/qgsgeometry.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5470,15 +5470,20 @@ int QgsGeometry::splitPolygonGeometry( GEOSGeometry* splitLine, QList<QgsGeometr
54705470
mDirtyWkb = true;
54715471
}
54725472

5473-
for ( int i = 1; i < testedGeometries.size(); ++i )
5473+
int i;
5474+
for ( i = 1; i < testedGeometries.size() && GEOSisValid( testedGeometries[i] ); ++i )
5475+
;
5476+
5477+
if ( i < testedGeometries.size() )
54745478
{
5475-
if ( GEOSisValid( testedGeometries[i] ) != 1 )
5479+
for ( i = 0; i < testedGeometries.size(); ++i )
54765480
{
5477-
return 3;
5481+
GEOSGeom_destroy( testedGeometries[i] );
54785482
}
5483+
return 3;
54795484
}
54805485

5481-
for ( int i = 1; i < testedGeometries.size(); ++i )
5486+
for ( i = 1; i < testedGeometries.size(); ++i )
54825487
{
54835488
newGeometries << fromGeosGeom( testedGeometries[i] );
54845489
}

0 commit comments

Comments
 (0)
Please sign in to comment.