Merge PR #425: Fix a threading issue in AppLogController

This commit is contained in:
Jenkins nymea 2020-09-11 13:06:37 +02:00
commit e0c6b7490a
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