Skip to content

Commit 7157076

Browse files
committed
Be permissive when parsing ranges from user input
1 parent bb01ef3 commit 7157076

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/gui/symbology/qgsgraduatedsymbolrendererwidget.cpp

+16-5
Original file line numberDiff line numberDiff line change
@@ -1013,8 +1013,13 @@ void QgsGraduatedSymbolRendererWidget::changeRange( int rangeIdx )
10131013

10141014
if ( dialog.exec() == QDialog::Accepted )
10151015
{
1016-
double lowerValue = dialog.lowerValue().toDouble();
1017-
double upperValue = dialog.upperValue().toDouble();
1016+
bool ok = false;
1017+
double lowerValue = qgsPermissiveToDouble( dialog.lowerValue(), ok );
1018+
if ( ! ok )
1019+
lowerValue = 0.0;
1020+
double upperValue = qgsPermissiveToDouble( dialog.upperValue(), ok );
1021+
if ( ! ok )
1022+
upperValue = 0.0;
10181023
mRenderer->updateRangeUpperValue( rangeIdx, upperValue );
10191024
mRenderer->updateRangeLowerValue( rangeIdx, lowerValue );
10201025

@@ -1138,9 +1143,15 @@ QList<QgsSymbol *> QgsGraduatedSymbolRendererWidget::selectedSymbols()
11381143
{
11391144
continue;
11401145
}
1141-
1142-
double lowerBound = list.at( 0 ).toDouble();
1143-
double upperBound = list.at( 2 ).toDouble();
1146+
// Not strictly necessary because the range should have been sanitized already
1147+
// after user input, but being permissive never hurts
1148+
bool ok = false;
1149+
double lowerBound = qgsPermissiveToDouble( list.at( 0 ), ok );
1150+
if ( ! ok )
1151+
lowerBound = 0.0;
1152+
double upperBound = qgsPermissiveToDouble( list.at( 2 ), ok );
1153+
if ( ! ok )
1154+
upperBound = 0.0;
11441155
QgsSymbol *s = findSymbolForRange( lowerBound, upperBound, ranges );
11451156
if ( s )
11461157
{

0 commit comments

Comments
 (0)