Skip to content

Commit

Permalink
Use correct project transform context in transform expression function
Browse files Browse the repository at this point in the history
Sponsored by ICSM
  • Loading branch information
nyalldawson committed Mar 19, 2019
1 parent 0546228 commit 9905283
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/core/expression/qgsexpressionfunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3815,7 +3815,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 );
Expand All @@ -3828,9 +3828,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<QgsCoordinateTransformContext>();
QgsCoordinateTransform t( s, d, tContext );
try
{
if ( fGeom.transform( t ) == 0 )
Expand Down

0 comments on commit 9905283

Please sign in to comment.