diff --git a/src/core/raster/qgsrasterlayer.cpp b/src/core/raster/qgsrasterlayer.cpp index fae1bd6d25d..b67979560b0 100644 --- a/src/core/raster/qgsrasterlayer.cpp +++ b/src/core/raster/qgsrasterlayer.cpp @@ -2945,6 +2945,7 @@ const QgsRasterBandStats QgsRasterLayer::getRasterBandStats(int theBandNoInt) myFirstIterationFlag = false; myRasterBandStats.minValDouble = myDouble; myRasterBandStats.maxValDouble = myDouble; + ++myRasterBandStats.elementCountInt; } //end of true part for first iteration check else { diff --git a/tests/src/core/testqgsrasterlayer.cpp b/tests/src/core/testqgsrasterlayer.cpp index 042ca8fdbc4..1c3e1f64d72 100644 --- a/tests/src/core/testqgsrasterlayer.cpp +++ b/tests/src/core/testqgsrasterlayer.cpp @@ -24,6 +24,7 @@ //qgis includes... #include +#include #include /** \ingroup UnitTests @@ -39,7 +40,7 @@ class TestQgsRasterLayer: public QObject void cleanup(){};// will be called after every testfunction. void isValid(); - + void checkDimensions(); private: QgsRasterLayer * mpLayer; }; @@ -71,6 +72,14 @@ void TestQgsRasterLayer::isValid() { QVERIFY ( mpLayer->isValid() ); } +void TestQgsRasterLayer::checkDimensions() +{ + QVERIFY ( mpLayer->getRasterXDim() == 10 ); + QVERIFY ( mpLayer->getRasterYDim() == 10 ); + // regression check for ticket #832 + // note getRasterBandStats call is base 1 + QVERIFY ( mpLayer->getRasterBandStats(1).elementCountInt == 100 ); +} QTEST_MAIN(TestQgsRasterLayer) #include "moc_testqgsrasterlayer.cxx"