Index: src/core/raster/qgsrasterlayer.cpp =================================================================== --- src/core/raster/qgsrasterlayer.cpp (révision 10808) +++ src/core/raster/qgsrasterlayer.cpp (copie de travail) @@ -1014,11 +1014,20 @@ if ( theTryInternalFlag ) { - QString myCompressionType = QString( GDALGetMetadataItem( mGdalDataset, "COMPRESSION", "IMAGE_STRUCTURE" ) ); - if ( "JPEG" == myCompressionType ) + // libtiff < 4.0 has a bug that prevents safe building of overviews on JPEG compressed files + // we detect libtiff < 4.0 by checking that BIGTIFF is not in the creation options of the GTiff driver + // see https://trac.osgeo.org/qgis/ticket/1357 + const char* pszGTiffCreationOptions = + GDALGetMetadataItem(GDALGetDriverByName("GTiff"), GDAL_DMD_CREATIONOPTIONLIST, ""); + if (strstr(pszGTiffCreationOptions, "BIGTIFF") == NULL) { - return "ERROR_JPEG_COMPRESSION"; + QString myCompressionType = QString( GDALGetMetadataItem( mGdalDataset, "COMPRESSION", "IMAGE_STRUCTURE" ) ); + if ( "JPEG" == myCompressionType ) + { + return "ERROR_JPEG_COMPRESSION"; + } } + //close the gdal dataset and reopen it in read / write mode GDALClose( mGdalDataset ); mGdalBaseDataset = GDALOpen( QFile::encodeName( mDataSource ).constData(), GA_Update );