From 9ed26361a6448fe1c0c8e263b0087d5bd8593f6b Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Wed, 22 Nov 2017 11:47:38 +0100 Subject: [PATCH] [ArcGIS REST] Add missing mutex to QgsAfsProvider (fixes #17513) --- src/providers/arcgisrest/qgsafsshareddata.cpp | 2 ++ src/providers/arcgisrest/qgsafsshareddata.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/providers/arcgisrest/qgsafsshareddata.cpp b/src/providers/arcgisrest/qgsafsshareddata.cpp index 89a419a2688..a25db8bc12d 100644 --- a/src/providers/arcgisrest/qgsafsshareddata.cpp +++ b/src/providers/arcgisrest/qgsafsshareddata.cpp @@ -19,6 +19,8 @@ bool QgsAfsSharedData::getFeature( QgsFeatureId id, QgsFeature &f, bool fetchGeometry, const QList & /*fetchAttributes*/, const QgsRectangle &filterRect ) { + QMutexLocker locker(&mMutex); + // If cached, return cached feature QMap::const_iterator it = mCache.constFind( id ); if ( it != mCache.constEnd() ) diff --git a/src/providers/arcgisrest/qgsafsshareddata.h b/src/providers/arcgisrest/qgsafsshareddata.h index ff7c3ec6b28..c64ef538297 100644 --- a/src/providers/arcgisrest/qgsafsshareddata.h +++ b/src/providers/arcgisrest/qgsafsshareddata.h @@ -17,6 +17,7 @@ #define QGSAFSSHAREDDATA_H #include +#include #include "qgsfields.h" #include "qgsfeature.h" #include "qgsdatasourceuri.h" @@ -38,6 +39,7 @@ class QgsAfsSharedData : public QObject private: friend class QgsAfsProvider; + QMutex mMutex; QgsDataSourceUri mDataSource; QgsRectangle mExtent; QgsWkbTypes::Type mGeometryType = QgsWkbTypes::Unknown;