From 171dfe113034767d9941d7041afce6c5e4ecb027 Mon Sep 17 00:00:00 2001 From: Martin Dobias Date: Sun, 26 Feb 2017 11:43:27 +0800 Subject: [PATCH] Retry WMS/WMTS/XYZ requests only on timeout (fixes #15854) It does not really make sense to retry if server returns 404 Not Found or similar... --- src/providers/wms/qgswmsprovider.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/providers/wms/qgswmsprovider.cpp b/src/providers/wms/qgswmsprovider.cpp index df0c433d7de..3b19ebd9f7d 100644 --- a/src/providers/wms/qgswmsprovider.cpp +++ b/src/providers/wms/qgswmsprovider.cpp @@ -3922,8 +3922,6 @@ void QgsWmsTiledImageDownloadHandler::tileReplyFinished() { QgsMessageLog::logMessage( tr( "Returned image is flawed [Content-Type:%1; URL: %2]" ) .arg( contentType, reply->url().toString() ), tr( "WMS" ) ); - - repeatTileRequest( reply->request() ); } } else @@ -3948,7 +3946,9 @@ void QgsWmsTiledImageDownloadHandler::tileReplyFinished() QgsWmsStatistics::Stat& stat = QgsWmsStatistics::statForUri( mProviderUri ); stat.errors++; - repeatTileRequest( reply->request() ); + // if we reached timeout, let's try again (e.g. in case of slow connection or slow server) + if ( reply->error() == QNetworkReply::TimeoutError ) + repeatTileRequest( reply->request() ); } }