diff options
| author | 2015-01-30 17:00:24 -0500 | |
|---|---|---|
| committer | 2015-01-30 17:00:24 -0500 | |
| commit | e4767514ed04e6a0bddf3f4a47f5f0b09e65e0ee (patch) | |
| tree | 86cadc2137831d44fa29fd40a2964f7fb1326de4 /SQLiteStudio3/coreSQLiteStudio/services/impl | |
| parent | 26ddfe11c2b7fac52e5f57dcd9f5223a50b2a9a7 (diff) | |
| parent | 016003905ca0e8e459e3dc33e786beda8ec92f45 (diff) | |
Merge tag 'upstream/3.0.2'
Upstream version 3.0.2
# gpg: Signature made Fri 30 Jan 2015 05:00:11 PM EST using RSA key ID EBE9BD91
# gpg: Good signature from "Unit 193 <unit193@gmail.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.org>"
# gpg: aka "Unit 193 <unit193@ubuntu.com>"
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/services/impl')
3 files changed, 11 insertions, 2 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp index e210f01..bbfec32 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp @@ -278,13 +278,14 @@ qint64 ConfigImpl::addSqlHistory(const QString& sql, const QString& dbName, int sqlHistoryId = 0; } + sqlHistoryMutex.lock(); QtConcurrent::run(this, &ConfigImpl::asyncAddSqlHistory, sqlHistoryId, sql, dbName, timeSpentMillis, rowsAffected); - sqlHistoryId++; - return sqlHistoryId; + return sqlHistoryId++; } void ConfigImpl::updateSqlHistory(qint64 id, const QString& sql, const QString& dbName, int timeSpentMillis, int rowsAffected) { + sqlHistoryMutex.lock(); QtConcurrent::run(this, &ConfigImpl::asyncUpdateSqlHistory, id, sql, dbName, timeSpentMillis, rowsAffected); } @@ -638,6 +639,7 @@ void ConfigImpl::asyncAddSqlHistory(qint64 id, const QString& sql, const QString { qDebug() << "Error adding SQL history:" << results->getErrorText(); db->rollback(); + sqlHistoryMutex.unlock(); return; } @@ -657,6 +659,7 @@ void ConfigImpl::asyncAddSqlHistory(qint64 id, const QString& sql, const QString db->commit(); emit sqlHistoryRefreshNeeded(); + sqlHistoryMutex.unlock(); } void ConfigImpl::asyncUpdateSqlHistory(qint64 id, const QString& sql, const QString& dbName, int timeSpentMillis, int rowsAffected) @@ -665,6 +668,7 @@ void ConfigImpl::asyncUpdateSqlHistory(qint64 id, const QString& sql, const QStr {dbName, timeSpentMillis, rowsAffected, sql, id}); emit sqlHistoryRefreshNeeded(); + sqlHistoryMutex.unlock(); } void ConfigImpl::asyncClearSqlHistory() diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h index ec32e8d..63d1e1f 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h @@ -4,6 +4,7 @@ #include "coreSQLiteStudio_global.h" #include "services/config.h" #include "db/sqlquery.h" +#include <QMutex> class AsyncConfigHandler; class SqlHistoryModel; @@ -118,6 +119,7 @@ class API_EXPORT ConfigImpl : public Config bool massSaving = false; SqlHistoryModel* sqlHistoryModel = nullptr; DdlHistoryModel* ddlHistoryModel = nullptr; + QMutex sqlHistoryMutex; public slots: void refreshDdlHistory(); diff --git a/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp b/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp index 5d7a517..c3bc581 100644 --- a/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp @@ -3,6 +3,7 @@ #include "plugins/genericplugin.h" #include "services/notifymanager.h" #include "common/unused.h" +#include "translations.h" #include <QCoreApplication> #include <QDir> #include <QDebug> @@ -465,6 +466,7 @@ void PluginManagerImpl::unload(const QString& pluginName) // Deinitializing and unloading plugin emit aboutToUnload(container->plugin, container->type); container->plugin->deinit(); + unloadTranslation(container->name); QPluginLoader* loader = container->loader; if (!loader->isLoaded()) @@ -586,6 +588,7 @@ void PluginManagerImpl::pluginLoaded(PluginManagerImpl::PluginContainer* contain { if (!container->builtIn) { + loadTranslation(container->name); container->plugin = dynamic_cast<Plugin*>(container->loader->instance()); container->loaded = true; } |
