@@ -158,7 +158,7 @@ bool QgsWfsRequest::sendGET( const QUrl &url, bool synchronous, bool forceRefres
158158
159159 if ( synchronous )
160160 {
161- connect ( QgsNetworkAccessManager::instance (), &QgsNetworkAccessManager::authenticationRequired, this , [&waitConditionMutex, &waitCondition]()
161+ auto resumeMainThread = [&waitConditionMutex, &waitCondition]()
162162 {
163163 waitConditionMutex.lock ();
164164 waitCondition.wakeAll ();
@@ -167,8 +167,14 @@ bool QgsWfsRequest::sendGET( const QUrl &url, bool synchronous, bool forceRefres
167167 waitConditionMutex.lock ();
168168 waitCondition.wait ( &waitConditionMutex );
169169 waitConditionMutex.unlock ();
170- }, Qt::DirectConnection
171- );
170+ };
171+
172+ connect ( QgsNetworkAccessManager::instance (), &QgsNetworkAccessManager::authenticationRequired, this , resumeMainThread, Qt::DirectConnection );
173+ connect ( QgsNetworkAccessManager::instance (), &QgsNetworkAccessManager::proxyAuthenticationRequired, this , resumeMainThread, Qt::DirectConnection );
174+
175+ #ifndef QT_NO_SSL
176+ connect ( QgsNetworkAccessManager::instance (), &QgsNetworkAccessManager::sslErrors, this , resumeMainThread, Qt::DirectConnection );
177+ #endif
172178 QEventLoop loop;
173179 connect ( this , &QgsWfsRequest::downloadFinished, &loop, &QEventLoop::quit, Qt::DirectConnection );
174180 loop.exec ();
0 commit comments