Skip to content

Commit a32ac3d

Browse files
committed
Fix broken area scaling for simple marker symbols
1 parent d62794d commit a32ac3d

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/core/symbology-ng/qgsmarkersymbollayerv2.cpp

+14-8
Original file line numberDiff line numberDiff line change
@@ -469,19 +469,25 @@ void QgsSimpleMarkerSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV
469469
return;
470470
}
471471

472+
double scaledSize = mSize;
473+
472474
bool hasDataDefinedSize = context.renderHints() & QgsSymbolV2::DataDefinedSizeScale || hasDataDefinedProperty( EXPR_SIZE );
473475

474-
double scaledSize = mSize;
475-
bool ok;
476-
if ( hasDataDefinedSize )
476+
bool ok = true;
477+
if ( hasDataDefinedProperty( EXPR_SIZE ) )
477478
{
478-
if ( hasDataDefinedProperty( EXPR_SIZE ) )
479+
scaledSize = evaluateDataDefinedProperty( EXPR_SIZE, context.feature(), mSize, &ok ).toDouble();
480+
}
481+
482+
if ( hasDataDefinedSize && ok )
483+
{
484+
switch ( mScaleMethod )
479485
{
480-
scaledSize = evaluateDataDefinedProperty( EXPR_SIZE, context.feature(), mSize, &ok ).toDouble();
481-
if ( ok && mScaleMethod == QgsSymbolV2::ScaleArea )
482-
{
486+
case QgsSymbolV2::ScaleArea:
483487
scaledSize = sqrt( scaledSize );
484-
}
488+
break;
489+
case QgsSymbolV2::ScaleDiameter:
490+
break;
485491
}
486492
}
487493

0 commit comments

Comments
 (0)