[QGIS Commit] r15760 - in trunk/qgis/src: core providers/grass
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Mon Apr 18 12:09:40 EDT 2011
Author: rblazek
Date: 2011-04-18 09:09:40 -0700 (Mon, 18 Apr 2011)
New Revision: 15760
Modified:
trunk/qgis/src/core/qgsrasterdataprovider.cpp
trunk/qgis/src/providers/grass/qgsgrassrasterprovider.cpp
Log:
fixed crash when zooming out so that raster map extent is smaller than canvas pixel
Modified: trunk/qgis/src/core/qgsrasterdataprovider.cpp
===================================================================
--- trunk/qgis/src/core/qgsrasterdataprovider.cpp 2011-04-18 15:53:55 UTC (rev 15759)
+++ trunk/qgis/src/core/qgsrasterdataprovider.cpp 2011-04-18 16:09:40 UTC (rev 15760)
@@ -53,6 +53,9 @@
// TODO: init data by nulls
+ // If we zoom out too much, projector srcRows / srcCols maybe 0, which can cause problems in providers
+ if ( myProjector.srcRows() <= 0 || myProjector.srcCols() <= 0 ) return;
+
// Allocate memory for not projected source data
int mySize = dataTypeSize( bandNo ) / 8;
void *mySrcData = malloc( mySize * myProjector.srcRows() * myProjector.srcCols() );
Modified: trunk/qgis/src/providers/grass/qgsgrassrasterprovider.cpp
===================================================================
--- trunk/qgis/src/providers/grass/qgsgrassrasterprovider.cpp 2011-04-18 15:53:55 UTC (rev 15759)
+++ trunk/qgis/src/providers/grass/qgsgrassrasterprovider.cpp 2011-04-18 16:09:40 UTC (rev 15760)
@@ -211,6 +211,8 @@
QgsDebugMsg( "pixelHeight = " + QString::number( pixelHeight ) );
QgsDebugMsg( "viewExtent: " + viewExtent.toString() );
+ if ( pixelWidth <= 0 || pixelHeight <= 0 ) return;
+
QStringList arguments;
arguments.append( "map=" + mMapName + "@" + mMapset );
More information about the QGIS-commit
mailing list