@@ -58,15 +58,15 @@ QgsDataDefined* scaleWholeSymbol( double scaleFactor, const QgsDataDefined& dd )
58
58
}
59
59
60
60
inline
61
- QgsDataDefined* scaleWholeSymbol ( double scaleFactorX, double scaleFactorY, const QgsDataDefined& dd )
61
+ QgsDataDefined* scaleWholeSymbol ( double scaleFactorX, double scaleFactorY, const QgsDataDefined& dd )
62
62
{
63
63
QgsDataDefined* scaledDD = new QgsDataDefined ( dd );
64
64
scaledDD->setUseExpression ( true );
65
65
QString exprString = dd.useExpression () ? dd.expressionString () : dd.field ();
66
66
scaledDD->setExpressionString (
67
- ( scaleFactorX ? " tostring(" + QString::number ( scaleFactorX ) + " *(" + exprString + " ))" : " '0'" ) +
68
- " || ',' || " +
69
- ( scaleFactorY ? " tostring(" + QString::number ( scaleFactorY ) + " *(" + exprString + " ))" : " '0'" ));
67
+ ( scaleFactorX ? " tostring(" + QString::number ( scaleFactorX ) + " *(" + exprString + " ))" : " '0'" ) +
68
+ " || ',' || " +
69
+ ( scaleFactorY ? " tostring(" + QString::number ( scaleFactorY ) + " *(" + exprString + " ))" : " '0'" ) );
70
70
return scaledDD;
71
71
}
72
72
@@ -631,13 +631,13 @@ QgsDataDefined QgsMarkerSymbolV2::dataDefinedAngle() const
631
631
632
632
if ( qgsDoubleNear ( layer->angle (), symbolRotation ) )
633
633
{
634
- if ( *layerAngleDD != *symbolDD )
634
+ if ( !layerAngleDD || *layerAngleDD != *symbolDD )
635
635
return QgsDataDefined ();
636
636
}
637
637
else
638
638
{
639
639
QScopedPointer< QgsDataDefined > rotatedDD ( rotateWholeSymbol ( layer->angle () - symbolRotation, *symbolDD ) );
640
- if ( *layerAngleDD != *( rotatedDD.data () ) )
640
+ if ( !layerAngleDD || *layerAngleDD != *( rotatedDD.data () ) )
641
641
return QgsDataDefined ();
642
642
}
643
643
}
@@ -707,8 +707,8 @@ void QgsMarkerSymbolV2::setDataDefinedSize( const QgsDataDefined &dd )
707
707
if ( layer->offset ().x () || layer->offset ().y () )
708
708
{
709
709
layer->setDataDefinedProperty ( " offset" , scaleWholeSymbol (
710
- layer->offset ().x () / symbolSize,
711
- layer->offset ().y () / symbolSize, dd ) );
710
+ layer->offset ().x () / symbolSize,
711
+ layer->offset ().y () / symbolSize, dd ) );
712
712
}
713
713
}
714
714
}
@@ -757,10 +757,9 @@ QgsDataDefined QgsMarkerSymbolV2::dataDefinedSize() const
757
757
return QgsDataDefined ();
758
758
}
759
759
760
-
761
760
QScopedPointer< QgsDataDefined > scaledOffsetDD ( scaleWholeSymbol ( layer->offset ().x () / symbolSize, layer->offset ().y () / symbolSize, *symbolDD ) );
762
761
if ( layerOffsetDD && *layerOffsetDD != *( scaledOffsetDD.data () ) )
763
- return QgsDataDefined ();
762
+ return QgsDataDefined ();
764
763
}
765
764
766
765
return QgsDataDefined ( *symbolDD );
@@ -961,7 +960,7 @@ QgsDataDefined QgsLineSymbolV2::dataDefinedWidth() const
961
960
962
961
QScopedPointer< QgsDataDefined > scaledOffsetDD ( scaleWholeSymbol ( layer->offset () / symbolWidth, *symbolDD ) );
963
962
if ( layerOffsetDD && *layerOffsetDD != *( scaledOffsetDD.data () ) )
964
- return QgsDataDefined ();
963
+ return QgsDataDefined ();
965
964
}
966
965
967
966
return QgsDataDefined ( *symbolDD );
0 commit comments