# HG changeset patch # User Chris Cannam # Date 1375204530 -3600 # Node ID fcee7e040ab49c70b5a90a6c34d91335de981d62 # Parent 3cc81dbc31bb75ed19be1d77a6a059741b71be37# Parent a1bb2989013dc380e3baf6b6e9704520f62b3bc0 Merge diff -r a1bb2989013d -r fcee7e040ab4 data/fileio/FileSource.cpp --- a/data/fileio/FileSource.cpp Wed Jul 24 18:24:55 2013 +0100 +++ b/data/fileio/FileSource.cpp Tue Jul 30 18:15:30 2013 +0100 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -67,7 +68,7 @@ } #endif -static QNetworkAccessManager nm; +static QThreadStorage nms; FileSource::FileSource(QString fileOrUrl, ProgressReporter *reporter, QString preferredContentType) : @@ -264,6 +265,13 @@ void FileSource::init() { + { // check we have a QNetworkAccessManager + QMutexLocker locker(&m_mapMutex); + if (!nms.hasLocalData()) { + nms.setLocalData(new QNetworkAccessManager()); + } + } + if (isResource()) { #ifdef DEBUG_FILE_SOURCE std::cerr << "FileSource::init: Is a resource" << std::endl; @@ -452,7 +460,7 @@ QString("%1, */*").arg(m_preferredContentType).toLatin1()); } - m_reply = nm.get(req); + m_reply = nms.localData()->get(req); connect(m_reply, SIGNAL(readyRead()), this, SLOT(readyRead()));