Skip to content

Commit 1f08a06

Browse files
committed
Geom checker plugin: don't crash if feedback is 0x0
Fixes #21259
1 parent b711ef0 commit 1f08a06

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

src/analysis/vector/geometry_checker/qgsgeometrygapcheck.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void QgsGeometryGapCheck::collectErrors( const QMap<QString, QgsFeaturePool *> &
4545
{
4646
geomList.append( layerFeature.geometry() );
4747

48-
if ( feedback->isCanceled() )
48+
if ( feedback && feedback->isCanceled() )
4949
{
5050
geomList.clear();
5151
break;

src/analysis/vector/geometry_checker/qgsgeometrymissingvertexcheck.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void QgsGeometryMissingVertexCheck::collectErrors( const QMap<QString, QgsFeatur
4343

4444
for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeature : layerFeatures )
4545
{
46-
if ( feedback->isCanceled() )
46+
if ( feedback && feedback->isCanceled() )
4747
{
4848
break;
4949
}
@@ -152,7 +152,7 @@ void QgsGeometryMissingVertexCheck::processPolygon( const QgsCurvePolygon *polyg
152152

153153
if ( featurePool->getFeature( fid, compareFeature, feedback ) )
154154
{
155-
if ( feedback->isCanceled() )
155+
if ( feedback && feedback->isCanceled() )
156156
break;
157157

158158
QgsVertexIterator vertexIterator = compareFeature.geometry().vertices();

src/analysis/vector/geometry_checker/qgsgeometryoverlapcheck.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void QgsGeometryOverlapCheck::collectErrors( const QMap<QString, QgsFeaturePool
3535
QList<QString> layerIds = featureIds.keys();
3636
for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeatureA : layerFeaturesA )
3737
{
38-
if ( feedback->isCanceled() )
38+
if ( feedback && feedback->isCanceled() )
3939
break;
4040

4141
// Ensure each pair of layers only gets compared once: remove the current layer from the layerIds, but add it to the layerList for layerFeaturesB
@@ -52,7 +52,7 @@ void QgsGeometryOverlapCheck::collectErrors( const QMap<QString, QgsFeaturePool
5252
const QgsGeometryCheckerUtils::LayerFeatures layerFeaturesB( featurePools, QList<QString>() << layerFeatureA.layer()->id() << layerIds, bboxA, compatibleGeometryTypes(), mContext );
5353
for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeatureB : layerFeaturesB )
5454
{
55-
if ( feedback->isCanceled() )
55+
if ( feedback && feedback->isCanceled() )
5656
break;
5757

5858
// > : only report overlaps within same layer once

0 commit comments

Comments
 (0)