diff --git a/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp b/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp index 8259bf3939bb..d04baf0e9b35 100644 --- a/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp +++ b/src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp @@ -322,16 +322,19 @@ static QList _calcQuantileBreaks( QList values, int classes ) QList breaks; int n = values.count(); - double q, a, aa, r, Xq; - for ( int i = 0; i < ( classes - 1 ); i++ ) - { - q = ( i + 1 ) / ( double ) classes; - a = q * n; - aa = ( int )( q * n ); + double Xq = n > 0 ? values[0] : 0.0; - r = a - aa; - Xq = ( 1 - r ) * values[aa] + r * values[aa+1]; + for ( int i = 1; i < classes; i++ ) + { + if( n > 1 ) + { + double q = i / ( double ) classes; + double a = q * (n-1); + int aa = ( int )( a ); + double r = a - aa; + Xq = ( 1 - r ) * values[aa] + r * values[aa+1]; + } breaks.append( Xq ); }