@@ -265,6 +265,7 @@ void QgsGeometryValidationDock::onCurrentLayerChanged( QgsMapLayer *layer )
265
265
{
266
266
disconnect ( mCurrentLayer , &QgsVectorLayer::editingStarted, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
267
267
disconnect ( mCurrentLayer , &QgsVectorLayer::editingStopped, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
268
+ disconnect ( mCurrentLayer , &QgsVectorLayer::destroyed, this , &QgsGeometryValidationDock::onLayerDestroyed );
268
269
}
269
270
270
271
mCurrentLayer = qobject_cast<QgsVectorLayer *>( layer );
@@ -273,6 +274,7 @@ void QgsGeometryValidationDock::onCurrentLayerChanged( QgsMapLayer *layer )
273
274
{
274
275
connect ( mCurrentLayer , &QgsVectorLayer::editingStarted, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
275
276
connect ( mCurrentLayer , &QgsVectorLayer::editingStopped, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
277
+ connect ( mCurrentLayer , &QgsVectorLayer::destroyed, this , &QgsGeometryValidationDock::onLayerDestroyed );
276
278
}
277
279
278
280
onLayerEditingStatusChanged ();
@@ -297,6 +299,12 @@ void QgsGeometryValidationDock::onLayerEditingStatusChanged()
297
299
mTopologyChecksPendingButton ->setEnabled ( enabled );
298
300
}
299
301
302
+ void QgsGeometryValidationDock::onLayerDestroyed ( QObject *layer )
303
+ {
304
+ if ( layer == mCurrentLayer )
305
+ mCurrentLayer = nullptr ;
306
+ }
307
+
300
308
void QgsGeometryValidationDock::showHighlight ( const QModelIndex ¤t )
301
309
{
302
310
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( mMapCanvas ->currentLayer () );
0 commit comments