Skip to content

Commit cf00925

Browse files
committed
[bugfix] Categorized style issue using numeric fields with NULL values
Backported from master PR 5720 Fixes #17442
1 parent 5631094 commit cf00925

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

src/gui/symbology-ng/qgscategorizedsymbolrendererv2widget.cpp

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -630,27 +630,18 @@ static void _createCategories( QgsCategoryList& cats, QList<QVariant>& values, Q
630630
QgsSymbolLayerV2Utils::sortVariantList( values, Qt::AscendingOrder );
631631

632632
int num = values.count();
633-
634-
bool hasNull = false;
635-
636633
for ( int i = 0; i < num; i++ )
637634
{
638635
QVariant value = values[i];
639-
if ( value.toString().isNull() )
636+
if ( ! value.isNull() )
640637
{
641-
hasNull = true;
638+
QgsSymbolV2* newSymbol = symbol->clone();
639+
cats.append( QgsRendererCategoryV2( value, newSymbol, value.toString(), true ) );
642640
}
643-
QgsSymbolV2* newSymbol = symbol->clone();
644-
645-
cats.append( QgsRendererCategoryV2( value, newSymbol, value.toString(), true ) );
646-
}
647-
648-
// add null (default) value if not exists
649-
if ( !hasNull )
650-
{
651-
QgsSymbolV2* newSymbol = symbol->clone();
652-
cats.append( QgsRendererCategoryV2( QVariant( "" ), newSymbol, QString(), true ) );
653641
}
642+
// add null (default) value
643+
QgsSymbolV2* newSymbol = symbol->clone();
644+
cats.append( QgsRendererCategoryV2( QVariant( "" ), newSymbol, QString(), true ) );
654645
}
655646

656647
QgsVectorColorRampV2* QgsCategorizedSymbolRendererV2Widget::getColorRamp()

0 commit comments

Comments
 (0)