Skip to content

Commit 4fb22b4

Browse files
vmoranyalldawson
authored andcommittedJun 24, 2015
converted size expr evaluate to 0 on NULL field
fix #12888 use coalesce(expr,0) to have zero size if expression evaluates to NULL otherwise the default size would be used
1 parent 2e35781 commit 4fb22b4

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed
 

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -665,20 +665,20 @@ void QgsFeatureRendererV2::convertSymbolSizeScale( QgsSymbolV2 * symbol, QgsSymb
665665
QgsMarkerSymbolV2 * s = static_cast<QgsMarkerSymbolV2 *>( symbol );
666666
if ( QgsSymbolV2::ScaleArea == QgsSymbolV2::ScaleMethod( method ) )
667667
{
668-
const QgsDataDefined dd( "sqrt(" + QString::number( s->size() ) + " * (" + field + "))" );
668+
const QgsDataDefined dd( "coalesce(sqrt(" + QString::number( s->size() ) + " * (" + field + ")),0)" );
669669
s->setDataDefinedSize( dd );
670670
}
671671
else
672672
{
673-
const QgsDataDefined dd( QString::number( s->size() ) + " * (" + field + ")" );
673+
const QgsDataDefined dd( "coalesce(" + QString::number( s->size() ) + " * (" + field + "),0)" );
674674
s->setDataDefinedSize( dd );
675675
}
676676
s->setScaleMethod( QgsSymbolV2::ScaleDiameter );
677677
}
678678
else if ( symbol->type() == QgsSymbolV2::Line )
679679
{
680680
QgsLineSymbolV2 * s = static_cast<QgsLineSymbolV2 *>( symbol );
681-
const QgsDataDefined dd( QString::number( s->width() ) + " * (" + field + ")" );
681+
const QgsDataDefined dd( "coalesce(" + QString::number( s->width() ) + " * (" + field + "),0)" );
682682
s->setDataDefinedWidth( dd );
683683
}
684684
}

0 commit comments

Comments
 (0)
Please sign in to comment.