Skip to content

Commit c70baa2

Browse files
committedNov 21, 2019
Fix layer/field based symbology
Was broken since #32770
1 parent 49dcc2c commit c70baa2

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed
 

‎src/core/dxf/qgsdxfexport.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ void QgsDxfExport::writeEntities()
650650

651651
QgsCoordinateTransform ct( mMapSettings.destinationCrs(), job->crs, mMapSettings.transformContext() );
652652

653-
QgsFeatureRequest request = QgsFeatureRequest().setSubsetOfAttributes( job->attributes, job->fields ).setExpressionContext( job->expressionContext );
653+
QgsFeatureRequest request = QgsFeatureRequest().setSubsetOfAttributes( job->attributes, job->fields ).setExpressionContext( job->renderContext.expressionContext() );
654654
request.setFilterRect( ct.transform( mExtent ) );
655655

656656
QgsFeatureIterator featureIt = job->featureSource.getFeatures( request );
@@ -786,7 +786,7 @@ void QgsDxfExport::writeEntitiesSymbolLevels( DxfLayerJob *job )
786786
QHash< QgsSymbol *, QList<QgsFeature> > features;
787787

788788
QgsRenderContext ctx = renderContext();
789-
const QList<QgsExpressionContextScope *> scopes = job->expressionContext.scopes();
789+
const QList<QgsExpressionContextScope *> scopes = job->renderContext.expressionContext().scopes();
790790
for ( QgsExpressionContextScope *scope : scopes )
791791
ctx.expressionContext().appendScope( new QgsExpressionContextScope( *scope ) );
792792
QgsSymbolRenderContext sctx( ctx, QgsUnitTypes::RenderMillimeters, 1.0, false, nullptr, nullptr );

‎src/core/dxf/qgsdxfexport_p.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
struct DxfLayerJob
3232
{
3333
DxfLayerJob( QgsVectorLayer *vl, const QString &layerStyleOverride, QgsRenderContext &renderContext, QgsDxfExport *dxfExport, const QString &splitLayerAttribute )
34-
: styleOverride( vl )
35-
, expressionContext( renderContext.expressionContext() )
34+
: renderContext( renderContext )
35+
, styleOverride( vl )
3636
, featureSource( vl )
3737
, dxfExport( dxfExport )
3838
, crs( vl->crs() )
@@ -42,7 +42,7 @@ struct DxfLayerJob
4242
{
4343
fields = vl->fields();
4444
renderer.reset( vl->renderer()->clone() );
45-
expressionContext.appendScope( vl->createExpressionContextScope() );
45+
renderContext.expressionContext().appendScope( QgsExpressionContextUtils::layerScope( vl ) );
4646

4747
if ( !layerStyleOverride.isNull() )
4848
{
@@ -89,9 +89,9 @@ struct DxfLayerJob
8989
renderer->startRender( renderContext, fields );
9090
};
9191

92+
QgsRenderContext renderContext;
9293
QgsFields fields;
9394
QgsMapLayerStyleOverride styleOverride;
94-
QgsExpressionContext expressionContext;
9595
QgsVectorLayerFeatureSource featureSource;
9696
std::unique_ptr< QgsFeatureRenderer > renderer;
9797
std::unique_ptr<QgsAbstractVectorLayerLabeling> labeling;

0 commit comments

Comments
 (0)
Please sign in to comment.