From bcfd875f53cf300962a3caf0454dc8539b182fff Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Fri, 23 May 2025 15:54:02 +0200 Subject: [PATCH] Update bearing even when angle is constrained Partial fix #61587 --- src/gui/qgsadvanceddigitizingdockwidget.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/qgsadvanceddigitizingdockwidget.cpp b/src/gui/qgsadvanceddigitizingdockwidget.cpp index 1b2d39bb1b6..4162f499248 100644 --- a/src/gui/qgsadvanceddigitizingdockwidget.cpp +++ b/src/gui/qgsadvanceddigitizingdockwidget.cpp @@ -1478,7 +1478,7 @@ void QgsAdvancedDigitizingDockWidget::updateUnlockedConstraintValues( const QgsP const QgsPoint penultimatePt = penultimatePointV2( &penulPointExist ); // --- angle - if ( !mAngleConstraint->isLocked() && previousPointExist ) + if ( previousPointExist ) { double prevAngle = 0.0; @@ -1492,7 +1492,10 @@ void QgsAdvancedDigitizingDockWidget::updateUnlockedConstraintValues( const QgsP // Modulus const double angle = std::fmod( xAngle - prevAngle, 360.0 ); - mAngleConstraint->setValue( angle ); + if ( !mAngleConstraint->isLocked() ) + { + mAngleConstraint->setValue( angle ); + } // Bearing (azimuth) double bearing { std::fmod( xAngle, 360.0 ) };