Skip to content

Commit ac8eab2

Browse files
committed
Guard against layer nullptr
1 parent 652737d commit ac8eab2

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/gui/qgsmaptooladvanceddigitizing.cpp

+18-10
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,12 @@ void QgsMapToolAdvancedDigitizing::activate()
123123
connect( mCadDockWidget, &QgsAdvancedDigitizingDockWidget::pointChanged, this, &QgsMapToolAdvancedDigitizing::cadPointChanged );
124124
mCadDockWidget->enable();
125125
mSnapToGridCanvasItem = new QgsSnapToGridCanvasItem( mCanvas );
126-
mSnapToGridCanvasItem->setCrs( currentVectorLayer()->crs() );
127-
mSnapToGridCanvasItem->setPrecision( currentVectorLayer()->geometryFixes()->geometryPrecision() );
126+
QgsVectorLayer *layer = currentVectorLayer();
127+
if ( layer )
128+
{
129+
mSnapToGridCanvasItem->setCrs( currentVectorLayer()->crs() );
130+
mSnapToGridCanvasItem->setPrecision( currentVectorLayer()->geometryFixes()->geometryPrecision() );
131+
}
128132
mSnapToGridCanvasItem->setEnabled( mSnapToGridEnabled );
129133
}
130134

@@ -146,16 +150,20 @@ void QgsMapToolAdvancedDigitizing::cadPointChanged( const QgsPointXY &point )
146150

147151
void QgsMapToolAdvancedDigitizing::onCurrentLayerChanged()
148152
{
149-
QgsVectorLayer *layer = currentVectorLayer();
150-
if ( mSnapToGridCanvasItem && layer && mSnapToGridEnabled )
153+
if ( mSnapToGridCanvasItem )
151154
{
152-
mSnapToGridCanvasItem->setPrecision( layer->geometryFixes()->geometryPrecision() );
153-
mSnapToGridCanvasItem->setCrs( layer->crs() );
154-
mSnapToGridCanvasItem->setEnabled( true );
155-
}
155+
QgsVectorLayer *layer = currentVectorLayer();
156+
if ( layer && mSnapToGridEnabled )
157+
{
158+
mSnapToGridCanvasItem->setPrecision( layer->geometryFixes()->geometryPrecision() );
159+
mSnapToGridCanvasItem->setCrs( layer->crs() );
160+
}
156161

157-
if ( !layer )
158-
mSnapToGridCanvasItem->setEnabled( false );
162+
if ( !layer )
163+
mSnapToGridCanvasItem->setEnabled( false );
164+
else
165+
mSnapToGridCanvasItem->setEnabled( mSnapToGridEnabled );
166+
}
159167
}
160168

161169
bool QgsMapToolAdvancedDigitizing::snapToGridEnabled() const

0 commit comments

Comments
 (0)