summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/logger.cpp4
-rw-r--r--src/logger.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/logger.cpp b/src/logger.cpp
index 862e27e..df2a105 100644
--- a/src/logger.cpp
+++ b/src/logger.cpp
@@ -42,6 +42,7 @@
#include "logger.h"
Logger *Logger::instance = 0;
+QMutex Logger::mutex;
Logger *Logger::getIt()
{
@@ -55,18 +56,21 @@ void Logger::log(const QString& msg)
if (msg.isEmpty())
return;
+ QMutexLocker lock(&mutex);
m_log.append(msg);
emit newLog(msg);
}
void Logger::clear()
{
+ QMutexLocker lock(&mutex);
m_log.clear();
emit logCleared();
}
QString Logger::allLogs() const
{
+ QMutexLocker lock(&mutex);
return m_log;
}
diff --git a/src/logger.h b/src/logger.h
index fb13508..62afdbd 100644
--- a/src/logger.h
+++ b/src/logger.h
@@ -43,6 +43,7 @@
#define LOGGER_H
#include "QObject"
+#include "QMutex"
class Logger : public QObject
{
@@ -59,6 +60,7 @@ Q_SIGNALS:
private:
static Logger *instance;
+ static QMutex mutex;
QString m_log;
Logger() : QObject() {}