From 2f6be7a504fb2ef55871dc946585ad4d62bcfa06 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Thu, 14 Jul 2016 16:40:34 +0200 Subject: [PATCH] [Geometry checker] If fixing an error produced changes, treat newly detected errors which are the same as the error fixed as actual new errors --- .../geometry_checker/qgsgeometrychecker.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/plugins/geometry_checker/qgsgeometrychecker.cpp b/src/plugins/geometry_checker/qgsgeometrychecker.cpp index caea77c20b2..58758a4ee4e 100644 --- a/src/plugins/geometry_checker/qgsgeometrychecker.cpp +++ b/src/plugins/geometry_checker/qgsgeometrychecker.cpp @@ -155,14 +155,17 @@ bool QgsGeometryChecker::fixError( QgsGeometryCheckError* error, int method ) } } - // Remove just-fixed error from newly-found errors (needed in case error was fixed with "no change") - Q_FOREACH ( QgsGeometryCheckError* recheckErr, recheckErrors ) + // Remove just-fixed error from newly-found errors if no changes occurred (needed in case error was fixed with "no change") + if ( changes.isEmpty() ) { - if ( recheckErr->isEqual( error ) ) + Q_FOREACH ( QgsGeometryCheckError* recheckErr, recheckErrors ) { - recheckErrors.removeAll( recheckErr ); - delete recheckErr; - break; + if ( recheckErr->isEqual( error ) ) + { + recheckErrors.removeAll( recheckErr ); + delete recheckErr; + break; + } } }