From ad117855c789a3817efd59f23eca4e0594497575 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Tue, 19 Mar 2019 10:37:38 +1000 Subject: [PATCH] Use correct project transform context in transform expression function Sponsored by ICSM --- src/core/expression/qgsexpressionfunction.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/expression/qgsexpressionfunction.cpp b/src/core/expression/qgsexpressionfunction.cpp index e14046392f98..c4c7e34992ef 100644 --- a/src/core/expression/qgsexpressionfunction.cpp +++ b/src/core/expression/qgsexpressionfunction.cpp @@ -4096,7 +4096,7 @@ static QVariant fcnGetGeometry( const QVariantList &values, const QgsExpressionC return QVariant(); } -static QVariant fcnTransformGeometry( const QVariantList &values, const QgsExpressionContext *, QgsExpression *parent, const QgsExpressionNodeFunction * ) +static QVariant fcnTransformGeometry( const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction * ) { QgsGeometry fGeom = QgsExpressionUtils::getGeometry( values.at( 0 ), parent ); QString sAuthId = QgsExpressionUtils::getStringValue( values.at( 1 ), parent ); @@ -4109,9 +4109,10 @@ static QVariant fcnTransformGeometry( const QVariantList &values, const QgsExpre if ( ! d.isValid() ) return QVariant::fromValue( fGeom ); - Q_NOWARN_DEPRECATED_PUSH - QgsCoordinateTransform t( s, d ); - Q_NOWARN_DEPRECATED_POP + QgsCoordinateTransformContext tContext; + if ( context ) + tContext = context->variable( QStringLiteral( "_project_transform_context" ) ).value(); + QgsCoordinateTransform t( s, d, tContext ); try { if ( fGeom.transform( t ) == 0 )