From eb6eaf59c79408f1778248a3360c7a6d8ff89a47 Mon Sep 17 00:00:00 2001 From: Dan Aloni Date: Fri, 3 Oct 2025 17:11:03 +0300 Subject: [PATCH] core/log: add a mutex to protect stdoutStream QTextStream is not thread safe. --- src/core/logging.cpp | 2 ++ src/core/logging.hpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/core/logging.cpp b/src/core/logging.cpp index 893c56e..415cf61 100644 --- a/src/core/logging.cpp +++ b/src/core/logging.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -220,6 +221,7 @@ void LogManager::messageHandler( } if (display) { + auto locker = QMutexLocker(&self->stdoutMutex); LogMessage::formatMessage( self->stdoutStream, message, diff --git a/src/core/logging.hpp b/src/core/logging.hpp index bf81133..7b6a758 100644 --- a/src/core/logging.hpp +++ b/src/core/logging.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -135,6 +136,7 @@ private: QHash allFilters; QTextStream stdoutStream; + QMutex stdoutMutex; LoggingThreadProxy threadProxy; friend void initLogCategoryLevel(const char* name, QtMsgType defaultLevel);