@@ -148,32 +148,36 @@ void QgsWFSCapabilities::requestCapabilities()
148
148
149
149
void QgsWFSCapabilities::capabilitiesReplyFinished ()
150
150
{
151
+ QNetworkReply* reply = mCapabilitiesReply ;
152
+
153
+ reply->deleteLater ();
154
+ mCapabilitiesReply = 0 ;
155
+
151
156
// handle network errors
152
- if ( mCapabilitiesReply ->error () != QNetworkReply::NoError )
157
+ if ( reply ->error () != QNetworkReply::NoError )
153
158
{
154
159
mErrorCode = QgsWFSCapabilities::NetworkError;
155
- mErrorMessage = mCapabilitiesReply ->errorString ();
160
+ mErrorMessage = reply ->errorString ();
156
161
emit gotCapabilities ();
157
162
return ;
158
163
}
159
164
160
165
// handle HTTP redirects
161
- QVariant redirect = mCapabilitiesReply ->attribute ( QNetworkRequest::RedirectionTargetAttribute );
166
+ QVariant redirect = reply ->attribute ( QNetworkRequest::RedirectionTargetAttribute );
162
167
if ( !redirect.isNull () )
163
168
{
164
169
QgsDebugMsg ( " redirecting to " + redirect.toUrl ().toString () );
165
170
QNetworkRequest request ( redirect.toUrl () );
166
171
request.setAttribute ( QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferNetwork );
167
172
request.setAttribute ( QNetworkRequest::CacheSaveControlAttribute, true );
168
173
169
- mCapabilitiesReply ->deleteLater ();
170
174
mCapabilitiesReply = QgsNetworkAccessManager::instance ()->get ( request );
171
175
172
176
connect ( mCapabilitiesReply , SIGNAL ( finished () ), this , SLOT ( capabilitiesReplyFinished () ) );
173
177
return ;
174
178
}
175
179
176
- QByteArray buffer = mCapabilitiesReply ->readAll ();
180
+ QByteArray buffer = reply ->readAll ();
177
181
178
182
QgsDebugMsg ( " parsing capabilities: " + buffer );
179
183
@@ -264,8 +268,6 @@ void QgsWFSCapabilities::capabilitiesReplyFinished()
264
268
mCaps .featureTypes .append ( featureType );
265
269
}
266
270
267
- mCapabilitiesReply ->deleteLater ();
268
- mCapabilitiesReply = 0 ;
269
271
emit gotCapabilities ();
270
272
}
271
273
0 commit comments