From c1cf896c1a76fdac16b3e800b7e1f106f983e299 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Mon, 10 Oct 2016 13:03:27 +1000 Subject: [PATCH] Fix invalid values for @map_extent_width/height (fix #15672) --- src/core/qgsexpressioncontext.cpp | 4 ++-- tests/src/core/testqgs25drenderer.cpp | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/qgsexpressioncontext.cpp b/src/core/qgsexpressioncontext.cpp index 0df4f1ca3d5..f808727ee7e 100644 --- a/src/core/qgsexpressioncontext.cpp +++ b/src/core/qgsexpressioncontext.cpp @@ -779,8 +779,8 @@ QgsExpressionContextScope* QgsExpressionContextUtils::mapSettingsScope( const Qg scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_id", "canvas", true ) ); scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_rotation", mapSettings.rotation(), true ) ); scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_scale", mapSettings.scale(), true ) ); - scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_extent_width", mapSettings.extent().width(), true ) ); - scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_extent_height", mapSettings.extent().height(), true ) ); + scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_extent_width", mapSettings.visibleExtent().width(), true ) ); + scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_extent_height", mapSettings.visibleExtent().height(), true ) ); QgsGeometry centerPoint = QgsGeometry::fromPoint( mapSettings.visibleExtent().center() ); scope->addVariable( QgsExpressionContextScope::StaticVariable( "map_extent_center", QVariant::fromValue( centerPoint ), true ) ); diff --git a/tests/src/core/testqgs25drenderer.cpp b/tests/src/core/testqgs25drenderer.cpp index 03203f087ff..762b8b52178 100644 --- a/tests/src/core/testqgs25drenderer.cpp +++ b/tests/src/core/testqgs25drenderer.cpp @@ -146,6 +146,7 @@ bool TestQgs25DRenderer::imageCheck( const QString& theTestType ) //use the QgsRenderChecker test utility class to //ensure the rendered output matches our control image mMapSettings.setExtent( mpPolysLayer->extent() ); + mMapSettings.setOutputSize( QSize( 400, 400 ) ); mMapSettings.setOutputDpi( 96 ); QgsExpressionContext context; context << QgsExpressionContextUtils::mapSettingsScope( mMapSettings );