diff --git a/src/plugins/geometry_checker/checks/qgsgeometryoverlapcheck.cpp b/src/plugins/geometry_checker/checks/qgsgeometryoverlapcheck.cpp index 0ed8c5b61bf..7445e36a310 100644 --- a/src/plugins/geometry_checker/checks/qgsgeometryoverlapcheck.cpp +++ b/src/plugins/geometry_checker/checks/qgsgeometryoverlapcheck.cpp @@ -25,13 +25,10 @@ void QgsGeometryOverlapCheck::collectErrors( QList &err QList layerIds = featureIds.keys(); for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeatureA : layerFeaturesA ) { - // Don't check already checked layers - layerIds.removeOne( layerFeatureA.layer().id() ); - QgsRectangle bboxA = layerFeatureA.geometry()->boundingBox(); QSharedPointer geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance ); - QgsGeometryCheckerUtils::LayerFeatures layerFeaturesB( mContext->featurePools, QList() << layerFeatureA.layer().id() << layerIds, bboxA, mCompatibleGeometryTypes ); + QgsGeometryCheckerUtils::LayerFeatures layerFeaturesB( mContext->featurePools, layerIds, bboxA, mCompatibleGeometryTypes ); for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeatureB : layerFeaturesB ) { // > : only report overlaps within same layer once @@ -62,6 +59,8 @@ void QgsGeometryOverlapCheck::collectErrors( QList &err delete interGeom; } } + // Don't check already checked layers + layerIds.removeOne( layerFeatureA.layer().id() ); } }