]> sigrok.org Git - pulseview.git/blobdiff - pv/logging.cpp
Fix regression introduced by 2980ff2da269c9ed
[pulseview.git] / pv / logging.cpp
index b0355168dbb640438db4f62e1b6661e9a2e3826d..dea333e534489b78bae632da28ccad90c56e35bd 100644 (file)
 
 #include <QApplication>
 
+using std::lock_guard;
+
 namespace pv {
 
 Logging logging;
 
+const int Logging::MIN_BUFFER_SIZE = 10;
 const int Logging::MAX_BUFFER_SIZE = 50000;
 
 Logging::~Logging()
 {
-       qInstallMessageHandler(0);
+       qInstallMessageHandler(nullptr);
        sr_log_callback_set_default();
 #ifdef ENABLE_DECODE
        srd_log_callback_set_default();
@@ -55,9 +58,9 @@ void Logging::init()
        buffer_.reserve(buffer_size_);
 
        qInstallMessageHandler(log_pv);
-       sr_log_callback_set(log_libsigrok, nullptr);
+       sr_log_callback_set(log_sr, nullptr);
 #ifdef ENABLE_DECODE
-       srd_log_callback_set(log_libsrd, nullptr);
+       srd_log_callback_set(log_srd, nullptr);
 #endif
 
        GlobalSettings::add_change_handler(this);
@@ -72,7 +75,9 @@ int Logging::get_log_level() const
 void Logging::set_log_level(int level)
 {
        sr_log_loglevel_set(level);
+#ifdef ENABLE_DECODE
        srd_log_loglevel_set(level);
+#endif
 }
 
 QString Logging::get_log() const
@@ -82,6 +87,8 @@ QString Logging::get_log() const
 
 void Logging::log(const QString &text, int source)
 {
+       lock_guard<mutex> log_lock(log_mutex_);
+
        if (buffer_.size() >= buffer_size_)
                buffer_.removeFirst();
 
@@ -129,7 +136,7 @@ void Logging::log_pv(QtMsgType type, const QMessageLogContext &context, const QS
        logging.log(msg, LogSource_pv);
 }
 
-int Logging::log_libsigrok(void *cb_data, int loglevel, const char *format, va_list args)
+int Logging::log_sr(void *cb_data, int loglevel, const char *format, va_list args)
 {
        (void)cb_data;
        (void)loglevel;
@@ -142,7 +149,7 @@ int Logging::log_libsigrok(void *cb_data, int loglevel, const char *format, va_l
 }
 
 #ifdef ENABLE_DECODE
-int Logging::log_libsrd(void *cb_data, int loglevel, const char *format, va_list args)
+int Logging::log_srd(void *cb_data, int loglevel, const char *format, va_list args)
 {
        (void)cb_data;
        (void)loglevel;