From 9cd41550b6fbe6df342b176278d3c095c1451618 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 29 Oct 2010 19:33:32 +0000 Subject: fixed crash when adding multiple directories simultaneously (Closes issue 394) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1966 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmp/metadatamanager.cpp | 2 ++ src/qmmp/metadatamanager.h | 3 +++ 2 files changed, 5 insertions(+) (limited to 'src') diff --git a/src/qmmp/metadatamanager.cpp b/src/qmmp/metadatamanager.cpp index 667d9bdff..c78426974 100644 --- a/src/qmmp/metadatamanager.cpp +++ b/src/qmmp/metadatamanager.cpp @@ -20,6 +20,7 @@ #include #include +#include #include "decoder.h" #include "decoderfactory.h" #include "abstractengine.h" @@ -47,6 +48,7 @@ MetaDataManager::~MetaDataManager() QList MetaDataManager::createPlayList(const QString &fileName, bool useMetaData) const { + QMutexLocker locker(&m_mutex); QList list; DecoderFactory *fact = 0; EngineFactory *efact = 0; diff --git a/src/qmmp/metadatamanager.h b/src/qmmp/metadatamanager.h index 5e40894be..09417903e 100644 --- a/src/qmmp/metadatamanager.h +++ b/src/qmmp/metadatamanager.h @@ -25,6 +25,7 @@ #include #include #include +#include #include "fileinfo.h" #include "metadatamodel.h" @@ -33,6 +34,7 @@ class EngineFactory; class InputSourceFactory; class QmmpSettings; + /*! @brief The MetaDataManager class is the base class for metadata access. * @author Ilya Kotov */ @@ -108,6 +110,7 @@ private: QList *m_inputSourceFactories; QMap m_cover_cache; QmmpSettings *m_settings; + mutable QMutex m_mutex; static MetaDataManager* m_instance; }; -- cgit v1.2.3-13-gbd6f