Skip to content

Commit 7b9fc8f

Browse files
committedJun 9, 2014
Fix #10512 (missing propagation of fields/scale to sub-symbols)
1 parent a715ce6 commit 7b9fc8f

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed
 

‎src/core/symbology-ng/qgsfillsymbollayerv2.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ void QgsGradientFillSymbolLayerV2::startRender( QgsSymbolV2RenderContext& contex
723723
mSelBrush = QBrush( selColor );
724724

725725
//update mBrush to use a gradient fill with specified properties
726-
prepareExpressions( context.fields() );
726+
prepareExpressions( context.fields(), context.renderContext().rendererScale() );
727727
}
728728

729729
void QgsGradientFillSymbolLayerV2::stopRender( QgsSymbolV2RenderContext& context )
@@ -999,7 +999,7 @@ void QgsShapeburstFillSymbolLayerV2::startRender( QgsSymbolV2RenderContext& cont
999999
if ( ! selectionIsOpaque ) selColor.setAlphaF( context.alpha() );
10001000
mSelBrush = QBrush( selColor );
10011001

1002-
prepareExpressions( context.fields() );
1002+
prepareExpressions( context.fields(), context.renderContext().rendererScale() );
10031003
}
10041004

10051005
void QgsShapeburstFillSymbolLayerV2::stopRender( QgsSymbolV2RenderContext& context )
@@ -1799,7 +1799,7 @@ void QgsSVGFillSymbolLayer::startRender( QgsSymbolV2RenderContext& context )
17991799

18001800
if ( mOutline )
18011801
{
1802-
mOutline->startRender( context.renderContext() );
1802+
mOutline->startRender( context.renderContext(), context.fields() );
18031803
}
18041804

18051805
prepareExpressions( context.fields(), context.renderContext().rendererScale() );
@@ -2531,7 +2531,7 @@ void QgsLinePatternFillSymbolLayer::applyPattern( const QgsSymbolV2RenderContext
25312531
lineRenderContext.setMapToPixel( mtp );
25322532
lineRenderContext.setForceVectorOutput( false );
25332533

2534-
fillLineSymbol->startRender( lineRenderContext );
2534+
fillLineSymbol->startRender( lineRenderContext, context.fields() );
25352535

25362536
QVector<QPolygonF> polygons;
25372537
polygons.append( QPolygonF() << p1 << p2 );
@@ -2577,7 +2577,7 @@ void QgsLinePatternFillSymbolLayer::startRender( QgsSymbolV2RenderContext& conte
25772577

25782578
if ( mFillLineSymbol )
25792579
{
2580-
mFillLineSymbol->startRender( context.renderContext() );
2580+
mFillLineSymbol->startRender( context.renderContext(), context.fields() );
25812581
}
25822582

25832583
prepareExpressions( context.fields(), context.renderContext().rendererScale() );
@@ -2947,14 +2947,15 @@ void QgsPointPatternFillSymbolLayer::applyPattern( const QgsSymbolV2RenderContex
29472947

29482948
//marker rendering needs context for drawing on patternImage
29492949
QgsRenderContext pointRenderContext;
2950+
pointRenderContext.setRendererScale( context.renderContext().rendererScale() );
29502951
pointRenderContext.setPainter( &p );
29512952
pointRenderContext.setRasterScaleFactor( 1.0 );
29522953
pointRenderContext.setScaleFactor( context.renderContext().scaleFactor() * context.renderContext().rasterScaleFactor() );
29532954
QgsMapToPixel mtp( context.renderContext().mapToPixel().mapUnitsPerPixel() / context.renderContext().rasterScaleFactor() );
29542955
pointRenderContext.setMapToPixel( mtp );
29552956
pointRenderContext.setForceVectorOutput( false );
29562957

2957-
mMarkerSymbol->startRender( pointRenderContext );
2958+
mMarkerSymbol->startRender( pointRenderContext, context.fields() );
29582959

29592960
//render corner points
29602961
mMarkerSymbol->renderPoint( QPointF( 0, 0 ), context.feature(), pointRenderContext );
@@ -2995,7 +2996,7 @@ void QgsPointPatternFillSymbolLayer::startRender( QgsSymbolV2RenderContext& cont
29952996

29962997
if ( mOutline )
29972998
{
2998-
mOutline->startRender( context.renderContext() );
2999+
mOutline->startRender( context.renderContext(), context.fields() );
29993000
}
30003001
prepareExpressions( context.fields(), context.renderContext().rendererScale() );
30013002
}
@@ -3188,7 +3189,7 @@ void QgsCentroidFillSymbolLayerV2::setColor( const QColor& color )
31883189
void QgsCentroidFillSymbolLayerV2::startRender( QgsSymbolV2RenderContext& context )
31893190
{
31903191
mMarker->setAlpha( context.alpha() );
3191-
mMarker->startRender( context.renderContext() );
3192+
mMarker->startRender( context.renderContext(), context.fields() );
31923193
}
31933194

31943195
void QgsCentroidFillSymbolLayerV2::stopRender( QgsSymbolV2RenderContext& context )

‎src/core/symbology-ng/qgsvectorfieldsymbollayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ void QgsVectorFieldSymbolLayer::startRender( QgsSymbolV2RenderContext& context )
195195
{
196196
if ( mLineSymbol )
197197
{
198-
mLineSymbol->startRender( context.renderContext() );
198+
mLineSymbol->startRender( context.renderContext(), context.fields() );
199199
}
200200

201201
const QgsFields* fields = context.fields();

0 commit comments

Comments
 (0)
Please sign in to comment.