diff --git a/src/contentmanagermodel.h b/src/contentmanagermodel.h index 49b7630..a992969 100644 --- a/src/contentmanagermodel.h +++ b/src/contentmanagermodel.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include "thumbnaildownloader.h" #include "rownode.h" #include @@ -30,23 +32,28 @@ public: // types public: void set(const QString& id, DownloadStatePtr d) { + const QMutexLocker threadSafetyGuarantee(&mutex); impl[id] = d; } DownloadStatePtr value(const QString& id) const { + const QMutexLocker threadSafetyGuarantee(&mutex); return impl.value(id); } QList keys() const { + const QMutexLocker threadSafetyGuarantee(&mutex); return impl.keys(); } void remove(const QString& id) { + const QMutexLocker threadSafetyGuarantee(&mutex); impl.remove(id); } private: ImplType impl; + mutable QMutex mutex; };