[Geometry checker] If fixing an error produced changes, treat newly detected errors which are the same as the error fixed as actual new errors

This commit is contained in:
Sandro Mani 2016-07-14 16:40:34 +02:00
parent 41ce5279dd
commit 2f6be7a504

View File

@ -155,7 +155,9 @@ bool QgsGeometryChecker::fixError( QgsGeometryCheckError* error, int method )
}
}
// Remove just-fixed error from newly-found errors (needed in case error was fixed with "no change")
// Remove just-fixed error from newly-found errors if no changes occurred (needed in case error was fixed with "no change")
if ( changes.isEmpty() )
{
Q_FOREACH ( QgsGeometryCheckError* recheckErr, recheckErrors )
{
if ( recheckErr->isEqual( error ) )
@ -165,6 +167,7 @@ bool QgsGeometryChecker::fixError( QgsGeometryCheckError* error, int method )
break;
}
}
}
// Go through error list, update other errors of the checked feature
Q_FOREACH ( QgsGeometryCheckError* err, mCheckErrors )