Fix a threading issue in AppLogController

Fixes #392
This commit is contained in:
Michael Zanetti 2020-09-09 18:37:28 +02:00
parent deabedacc5
commit 7b0099cd76
2 changed files with 4 additions and 0 deletions

View File

@ -36,6 +36,7 @@
#include <QClipboard>
#include <QGuiApplication>
#include <QDir>
#include <QMutexLocker>
QtMessageHandler AppLogController::s_oldLogMessageHandler = nullptr;
@ -161,6 +162,7 @@ void AppLogController::logMessageHandler(QtMsgType type, const QMessageLogContex
void AppLogController::append(const QString &message, AppLogController::Type type)
{
QMutexLocker locker(&m_mutex);
QString finalMessage = message + "\n";
m_logFile.write(finalMessage.toUtf8());
m_logFile.flush();

View File

@ -35,6 +35,7 @@
#include <QFile>
#include <QQmlEngine>
#include <QAbstractListModel>
#include <QMutex>
class AppLogController : public QAbstractListModel
{
@ -86,6 +87,7 @@ private:
QFile m_logFile;
QStringList m_buffer;
QList<Type> m_types;
QMutex m_mutex;
};
#endif // APPLOGCONTROLLER_H