Skip to content

Commit 1e34e75

Browse files
authored
Merge pull request #8692 from m-kuhn/fixSingleLayerErrors
Allow saving a layer after fixing invalid geometries
2 parents 7c0b68a + 0cb2900 commit 1e34e75

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/app/qgsgeometryvalidationservice.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@ void QgsGeometryValidationService::onFeatureDeleted( QgsVectorLayer *layer, QgsF
145145

146146
void QgsGeometryValidationService::onBeforeCommitChanges( QgsVectorLayer *layer )
147147
{
148+
if ( mLayerChecks[layer].topologyChecks.empty() && !layer->allowCommit() )
149+
{
150+
showMessage( tr( "Geometry errors have been found. Please fix the errors before saving the layer." ) );
151+
}
148152
if ( !mBypassChecks && !mLayerChecks[layer].topologyChecks.empty() )
149153
{
150154
if ( !layer->allowCommit() )
@@ -359,6 +363,8 @@ void QgsGeometryValidationService::processFeature( QgsVectorLayer *layer, QgsFea
359363

360364
if ( !mLayerChecks[layer].singleFeatureCheckErrors.empty() )
361365
layer->setAllowCommit( false );
366+
else if ( mLayerChecks[layer].topologyChecks.empty() )
367+
layer->setAllowCommit( true );
362368

363369
emit geometryCheckCompleted( layer, fid, allErrors );
364370
}

0 commit comments

Comments
 (0)