diff --git a/runners/bookmarks/fetchsqlite.h b/runners/bookmarks/fetchsqlite.h --- a/runners/bookmarks/fetchsqlite.h +++ b/runners/bookmarks/fetchsqlite.h @@ -28,6 +28,7 @@ #include #include +#include class BuildQuery { @@ -50,6 +51,7 @@ private: QString const m_databaseFile; + QMutex m_mutex; QSqlDatabase m_db; }; diff --git a/runners/bookmarks/fetchsqlite.cpp b/runners/bookmarks/fetchsqlite.cpp --- a/runners/bookmarks/fetchsqlite.cpp +++ b/runners/bookmarks/fetchsqlite.cpp @@ -25,6 +25,7 @@ #include #include #include +#include FetchSqlite::FetchSqlite(const QString &originalFilePath, const QString ©To, QObject *parent) : QObject(parent), m_databaseFile(copyTo) @@ -49,6 +50,7 @@ void FetchSqlite::prepare() { + QMutexLocker lock(&m_mutex); m_db.setDatabaseName(m_databaseFile); bool ok = m_db.open(); //qDebug() << "Sqlite Database " << m_databaseFile << " was opened: " << ok; @@ -59,6 +61,7 @@ void FetchSqlite::teardown() { + QMutexLocker lock(&m_mutex); m_db.close(); } @@ -69,6 +72,8 @@ QList FetchSqlite::query(const QString &sql, QMap bindObjects) { + QMutexLocker lock(&m_mutex); + //qDebug() << "query: " << sql; QSqlQuery query(m_db); query.prepare(sql);