From f5643768f3a142dca43c69d66ea8107ad4cf03b9 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Wed, 17 Jul 2024 09:27:27 +1000 Subject: [PATCH] Fix escape cannot cancel digitizing when CAD dock active Regression caused by #57584 --- src/gui/qgsadvanceddigitizingdockwidget.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/qgsadvanceddigitizingdockwidget.cpp b/src/gui/qgsadvanceddigitizingdockwidget.cpp index 05db8214b083..550ee670218b 100644 --- a/src/gui/qgsadvanceddigitizingdockwidget.cpp +++ b/src/gui/qgsadvanceddigitizingdockwidget.cpp @@ -1654,7 +1654,7 @@ bool QgsAdvancedDigitizingDockWidget::filterKeyPress( QKeyEvent *e ) { case Qt::Key_Escape: { - if ( mConstructionMode && mConstructionGuideLine.numPoints() >= 2 ) + if ( type == QEvent::KeyPress && mConstructionMode && mConstructionGuideLine.numPoints() >= 2 ) { mConstructionGuidesLayer->dataProvider()->deleteFeatures( QgsFeatureIds() << mConstructionGuideId ); mConstructionGuideLine.clear(); @@ -1665,6 +1665,11 @@ bool QgsAdvancedDigitizingDockWidget::filterKeyPress( QKeyEvent *e ) } updateCadPaintItem(); + e->accept(); + } + else + { + e->ignore(); } break; }