From 016003905ca0e8e459e3dc33e786beda8ec92f45 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Fri, 30 Jan 2015 17:00:07 -0500 Subject: Imported Upstream version 3.0.2 --- SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.cpp | 8 ++++++-- SQLiteStudio3/coreSQLiteStudio/services/impl/configimpl.h | 2 ++ .../coreSQLiteStudio/services/impl/pluginmanagerimpl.cpp | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'SQLiteStudio3/coreSQLiteStudio/services/impl') 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 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 #include #include @@ -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(container->loader->instance()); container->loaded = true; } -- cgit v1.2.3