Skip to content

Commit 3c5c7de

Browse files
committed
Fixed point pattern fill usedAttributes(), fixes #7736
1 parent 742f49f commit 3c5c7de

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/core/symbology-ng/qgsfillsymbollayerv2.cpp

+14-1
Original file line numberDiff line numberDiff line change
@@ -2294,10 +2294,14 @@ void QgsPointPatternFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2
22942294
QgsExpression* distanceYExpression = expression( "distance_y" );
22952295
QgsExpression* displacementXExpression = expression( "displacement_x" );
22962296
QgsExpression* displacementYExpression = expression( "displacement_y" );
2297+
2298+
#if 0
2299+
// TODO: enable but check also if mMarkerSymbol has data defined properties
22972300
if ( !distanceXExpression && !distanceYExpression && !displacementXExpression && !displacementYExpression )
22982301
{
22992302
return;
23002303
}
2304+
#endif
23012305

23022306
double distanceX = mDistanceX;
23032307
if ( distanceXExpression )
@@ -2322,12 +2326,21 @@ void QgsPointPatternFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2
23222326
applyPattern( context, mBrush, distanceX, distanceY, displacementX, displacementY );
23232327
}
23242328

2325-
23262329
double QgsPointPatternFillSymbolLayer::estimateMaxBleed() const
23272330
{
23282331
return 0;
23292332
}
23302333

2334+
QSet<QString> QgsPointPatternFillSymbolLayer::usedAttributes() const
2335+
{
2336+
QSet<QString> attributes = QgsSymbolLayerV2::usedAttributes();
2337+
2338+
if ( mMarkerSymbol )
2339+
attributes.unite( mMarkerSymbol->usedAttributes() );
2340+
2341+
return attributes;
2342+
}
2343+
23312344
//////////////
23322345

23332346

src/core/symbology-ng/qgsfillsymbollayerv2.h

+2
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,8 @@ class CORE_EXPORT QgsPointPatternFillSymbolLayer: public QgsImageFillSymbolLayer
516516
void setOutputUnit( QgsSymbolV2::OutputUnit unit );
517517
QgsSymbolV2::OutputUnit outputUnit() const;
518518

519+
virtual QSet<QString> usedAttributes() const;
520+
519521
protected:
520522
QgsMarkerSymbolV2* mMarkerSymbol;
521523
double mDistanceX;

0 commit comments

Comments
 (0)