Skip to content

Commit

Permalink
Fix layer/field based symbology
Browse files Browse the repository at this point in the history
Was broken since #32770
  • Loading branch information
m-kuhn committed Nov 21, 2019
1 parent 49dcc2c commit c70baa2
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/core/dxf/qgsdxfexport.cpp
Expand Up @@ -650,7 +650,7 @@ void QgsDxfExport::writeEntities()

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

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

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

QgsRenderContext ctx = renderContext();
const QList<QgsExpressionContextScope *> scopes = job->expressionContext.scopes();
const QList<QgsExpressionContextScope *> scopes = job->renderContext.expressionContext().scopes();
for ( QgsExpressionContextScope *scope : scopes )
ctx.expressionContext().appendScope( new QgsExpressionContextScope( *scope ) );
QgsSymbolRenderContext sctx( ctx, QgsUnitTypes::RenderMillimeters, 1.0, false, nullptr, nullptr );
Expand Down
8 changes: 4 additions & 4 deletions src/core/dxf/qgsdxfexport_p.h
Expand Up @@ -31,8 +31,8 @@
struct DxfLayerJob
{
DxfLayerJob( QgsVectorLayer *vl, const QString &layerStyleOverride, QgsRenderContext &renderContext, QgsDxfExport *dxfExport, const QString &splitLayerAttribute )
: styleOverride( vl )
, expressionContext( renderContext.expressionContext() )
: renderContext( renderContext )
, styleOverride( vl )
, featureSource( vl )
, dxfExport( dxfExport )
, crs( vl->crs() )
Expand All @@ -42,7 +42,7 @@ struct DxfLayerJob
{
fields = vl->fields();
renderer.reset( vl->renderer()->clone() );
expressionContext.appendScope( vl->createExpressionContextScope() );
renderContext.expressionContext().appendScope( QgsExpressionContextUtils::layerScope( vl ) );

if ( !layerStyleOverride.isNull() )
{
Expand Down Expand Up @@ -89,9 +89,9 @@ struct DxfLayerJob
renderer->startRender( renderContext, fields );
};

QgsRenderContext renderContext;
QgsFields fields;
QgsMapLayerStyleOverride styleOverride;
QgsExpressionContext expressionContext;
QgsVectorLayerFeatureSource featureSource;
std::unique_ptr< QgsFeatureRenderer > renderer;
std::unique_ptr<QgsAbstractVectorLayerLabeling> labeling;
Expand Down

0 comments on commit c70baa2

Please sign in to comment.