Skip to content

Commit d780d8a

Browse files
committed
Use correct project transform context in transform expression function
Sponsored by ICSM
1 parent 122bc2b commit d780d8a

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/core/expression/qgsexpressionfunction.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3815,7 +3815,7 @@ static QVariant fcnGetGeometry( const QVariantList &values, const QgsExpressionC
38153815
return QVariant();
38163816
}
38173817

3818-
static QVariant fcnTransformGeometry( const QVariantList &values, const QgsExpressionContext *, QgsExpression *parent, const QgsExpressionNodeFunction * )
3818+
static QVariant fcnTransformGeometry( const QVariantList &values, const QgsExpressionContext *context, QgsExpression *parent, const QgsExpressionNodeFunction * )
38193819
{
38203820
QgsGeometry fGeom = QgsExpressionUtils::getGeometry( values.at( 0 ), parent );
38213821
QString sAuthId = QgsExpressionUtils::getStringValue( values.at( 1 ), parent );
@@ -3828,9 +3828,10 @@ static QVariant fcnTransformGeometry( const QVariantList &values, const QgsExpre
38283828
if ( ! d.isValid() )
38293829
return QVariant::fromValue( fGeom );
38303830

3831-
Q_NOWARN_DEPRECATED_PUSH
3832-
QgsCoordinateTransform t( s, d );
3833-
Q_NOWARN_DEPRECATED_POP
3831+
QgsCoordinateTransformContext tContext;
3832+
if ( context )
3833+
tContext = context->variable( QStringLiteral( "_project_transform_context" ) ).value<QgsCoordinateTransformContext>();
3834+
QgsCoordinateTransform t( s, d, tContext );
38343835
try
38353836
{
38363837
if ( fGeom.transform( t ) == 0 )

0 commit comments

Comments
 (0)