@@ -265,6 +265,7 @@ void QgsGeometryValidationDock::onCurrentLayerChanged( QgsMapLayer *layer )
265265 {
266266 disconnect ( mCurrentLayer , &QgsVectorLayer::editingStarted, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
267267 disconnect ( mCurrentLayer , &QgsVectorLayer::editingStopped, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
268+ disconnect ( mCurrentLayer , &QgsVectorLayer::destroyed, this , &QgsGeometryValidationDock::onLayerDestroyed );
268269 }
269270
270271 mCurrentLayer = qobject_cast<QgsVectorLayer *>( layer );
@@ -273,6 +274,7 @@ void QgsGeometryValidationDock::onCurrentLayerChanged( QgsMapLayer *layer )
273274 {
274275 connect ( mCurrentLayer , &QgsVectorLayer::editingStarted, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
275276 connect ( mCurrentLayer , &QgsVectorLayer::editingStopped, this , &QgsGeometryValidationDock::onLayerEditingStatusChanged );
277+ connect ( mCurrentLayer , &QgsVectorLayer::destroyed, this , &QgsGeometryValidationDock::onLayerDestroyed );
276278 }
277279
278280 onLayerEditingStatusChanged ();
@@ -297,6 +299,12 @@ void QgsGeometryValidationDock::onLayerEditingStatusChanged()
297299 mTopologyChecksPendingButton ->setEnabled ( enabled );
298300}
299301
302+ void QgsGeometryValidationDock::onLayerDestroyed ( QObject *layer )
303+ {
304+ if ( layer == mCurrentLayer )
305+ mCurrentLayer = nullptr ;
306+ }
307+
300308void QgsGeometryValidationDock::showHighlight ( const QModelIndex ¤t )
301309{
302310 QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( mMapCanvas ->currentLayer () );
0 commit comments