[QGIS Commit] r8693 - trunk/qgis/src/core/raster

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Jun 30 10:36:54 EDT 2008


Author: warmerdam
Date: 2008-06-30 10:36:54 -0400 (Mon, 30 Jun 2008)
New Revision: 8693

Modified:
   trunk/qgis/src/core/raster/qgsrasterlayer.cpp
Log:
do not accept band-less dataset as valid (#1040)

Modified: trunk/qgis/src/core/raster/qgsrasterlayer.cpp
===================================================================
--- trunk/qgis/src/core/raster/qgsrasterlayer.cpp	2008-06-30 13:09:41 UTC (rev 8692)
+++ trunk/qgis/src/core/raster/qgsrasterlayer.cpp	2008-06-30 14:36:54 UTC (rev 8693)
@@ -267,36 +267,20 @@
   {
     return false;
   }
+  else if( GDALGetRasterCount( myDataset ) == 0 )
+  {
+    GDALClose( myDataset );
+    myDataset = NULL;
+    return false;
+  }
   else
   {
     GDALClose(myDataset);
     return true;
   }
-
-  /*
-   * This way is no longer a good idea because it does not
-   * cater for filetypes such as grass rasters that dont
-   * have a predictable file extension.
-   *
-   QString name = theFileNameQString.toLower();
-   return (name.endsWith(".adf") ||
-   name.endsWith(".asc") ||
-   name.endsWith(".grd") ||
-   name.endsWith(".img") ||
-   name.endsWith(".tif") ||
-   name.endsWith(".png") ||
-   name.endsWith(".jpg") ||
-   name.endsWith(".dem") ||
-   name.endsWith(".ddf")) ||
-   name.endsWith(".dt0");
-
-*/
 }
 
 
-
-
-
 //////////////////////////////////////////////////////////
 //
 // Non Static methods now....
@@ -421,6 +405,16 @@
 
   //check f this file has pyramids
   GDALRasterBandH myGDALBand = GDALGetRasterBand( mGdalDataset, 1 ); //just use the first band
+  if (myGDALBand == NULL)
+  {
+      GDALDereferenceDataset(mGdalBaseDataset);
+      mGdalBaseDataset = NULL;
+
+      GDALClose(mGdalDataset);
+      mGdalDataset = NULL;
+      mValid = FALSE;
+      return false;
+  }
   if( GDALGetOverviewCount(myGDALBand) > 0 )
   {
     hasPyramidsFlag=true;



More information about the QGIS-commit mailing list