Skip to content

Commit

Permalink
[Geometry checker] Fix crash in QgsGeometryAreaCheck::mergeWithNeighb…
Browse files Browse the repository at this point in the history
…or due to incorrect code ordering
  • Loading branch information
manisandro committed Mar 24, 2016
1 parent d3e08da commit a0b9877
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/plugins/geometry_checker/checks/qgsgeometryareacheck.cpp
Expand Up @@ -182,14 +182,6 @@ bool QgsGeometryAreaCheck::mergeWithNeighbor( QgsFeature& feature, int partIdx,
return method == MergeIdenticalAttribute ? true : false;
}


// Remove polygon from source geometry
deleteFeatureGeometryPart( feature, partIdx, changes );
if ( mergeFeature.id() == feature.id() && mergePartIdx > partIdx )
{
--mergePartIdx;
}

// Merge geometries
QgsAbstractGeometryV2* mergeGeom = mergeFeature.geometry()->geometry();
QgsGeometryEngine* geomEngine = QgsGeomUtils::createGeomEngine( QgsGeomUtils::getGeomPart( mergeGeom, mergePartIdx ), QgsGeometryCheckPrecision::tolerance() );
Expand All @@ -199,6 +191,14 @@ bool QgsGeometryAreaCheck::mergeWithNeighbor( QgsFeature& feature, int partIdx,
{
return false;
}

// Remove polygon from source geometry
deleteFeatureGeometryPart( feature, partIdx, changes );
if ( mergeFeature.id() == feature.id() && mergePartIdx > partIdx )
{
--mergePartIdx;
}
// Replace polygon in merge geometry
replaceFeatureGeometryPart( mergeFeature, mergePartIdx, combinedGeom, changes );

return true;
Expand Down

0 comments on commit a0b9877

Please sign in to comment.