X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Flogging.cpp;h=dea333e534489b78bae632da28ccad90c56e35bd;hp=1d4eb7c9b92ee29b6a806fa8c9464fa05765d81a;hb=b9a3a67e4bb39b769ac580d8d2f76eef6458f5d6;hpb=348bae08c18c66974533dde20ba3c426e881f929 diff --git a/pv/logging.cpp b/pv/logging.cpp index 1d4eb7c..dea333e 100644 --- a/pv/logging.cpp +++ b/pv/logging.cpp @@ -28,15 +28,18 @@ #include +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(); @@ -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 log_lock(log_mutex_); + if (buffer_.size() >= buffer_size_) buffer_.removeFirst();