Skip to content
Permalink
Browse files

Merge pull request #5296 from boundlessgeo/bugfix_16427_backport

[bugfix][backport] Do not cache invalid WM(T)S responses
  • Loading branch information
elpaso committed Oct 4, 2017
2 parents f14502e + b09fb37 commit 9a8c07ea0c0d0f570576ce95b1c36b65d204b6b7
Showing with 10 additions and 6 deletions.
  1. +10 −6 src/providers/wms/qgstilecache.cpp
@@ -33,10 +33,11 @@ void QgsTileCache::insertTile( const QUrl& url, const QImage& image )
bool QgsTileCache::tile( const QUrl& url, QImage& image )
{
QMutexLocker locker( &sTileCacheMutex );
if ( QImage* i = sTileCache.object( url ) )
bool success = false;
if ( QImage *i = sTileCache.object( url ) )
{
image = *i;
return true;
success = true;
}
else if ( QgsNetworkAccessManager::instance()->cache()->metaData( url ).isValid() )
{
@@ -48,10 +49,13 @@ bool QgsTileCache::tile( const QUrl& url, QImage& image )
image = QImage::fromData( imageData );

// cache it as well (mutex is already locked)
sTileCache.insert( url, new QImage( image ) );

return true;
// Check for null because it could be a redirect (see: https://issues.qgis.org/issues/16427 )
if ( ! image.isNull( ) )
{
sTileCache.insert( url, new QImage( image ) );
success = true;
}
}
}
return false;
return success;
}

0 comments on commit 9a8c07e

Please sign in to comment.
You can’t perform that action at this time.