Opened 16 years ago
Last modified 16 years ago
#2272 closed defect
For blocks bigger than the CacheMax GetBlockRef returns an error — at Initial Version
Reported by: | ilucena | Owned by: | warmerdam |
---|---|---|---|
Priority: | high | Milestone: | 1.6.0 |
Component: | GDAL_Raster | Version: | svn-trunk |
Severity: | normal | Keywords: | INGR, CCITT4, gdalrasterblock |
Cc: | Even Rouault |
Description
The INGR driver is producing a GetBlockRef Error when reading CCITT4 compressed images that produce a block in memory larger than the CacheMax.
That is what I found:
The comment on that line: http://trac.osgeo.org/gdal/browser/trunk/gdal/gcore/gdalrasterblock.cpp?rev=13965#L379 says "don't flush this block!" but that is exactly what is happening 7 lines after that.
I made that change and the "GetBlockRef Error" problem with INGR, CCITT4 disappear:
if (nLockCount == 0) {
if (!GDALFlushCacheBlock()) {
eErr = CE_Failure; break;
}
}
The GDALFlushCacheBlock() was added my Even in 2/3/2008. I would suggest a revision.
Regards.