Logging::~Logging()
{
qInstallMessageHandler(nullptr);
- sr_log_callback_set(prev_sr_log_cb, prev_sr_log_cb_data);
- prev_sr_log_cb = NULL;
- prev_sr_log_cb_data = NULL;
+ if (prev_sr_log_cb)
+ sr_log_callback_set(prev_sr_log_cb, prev_sr_log_cb_data);
+ prev_sr_log_cb = nullptr;
+ prev_sr_log_cb_data = nullptr;
#ifdef ENABLE_DECODE
- srd_log_callback_set(prev_srd_log_cb, prev_srd_log_cb_data);
- prev_srd_log_cb = NULL;
- prev_srd_log_cb_data = NULL;
+ if (prev_srd_log_cb)
+ srd_log_callback_set(prev_srd_log_cb, prev_srd_log_cb_data);
+ prev_srd_log_cb = nullptr;
+ prev_srd_log_cb_data = nullptr;
#endif
GlobalSettings::remove_change_handler(this);
switch (source) {
case LogSource_pv:
- s = QString("pv: ") + text; // black is default color
+ s = QString("<font color=\"darkMagenta\">pv: %1</font>").arg(text);
break;
case LogSource_sr:
- s = QString("<font color=\"blue\">sr: %1</font>").arg(text);
+ s = QString("<font color=\"darkGreen\">sr: %1</font>").arg(text);
break;
case LogSource_srd:
s = QString("<font color=\"olive\">srd: %1</font>").arg(text);
va_end(args2);
char *text = g_strdup_vprintf(format, args);
- logging.log(QString::fromUtf8(text), LogSource_srd);
+
+ QString s = QString::fromUtf8(text);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ for (QString& substring : s.split("\n", Qt::SkipEmptyParts))
+ logging.log(substring, LogSource_srd);
+#else
+ for (QString& substring : s.split("\n", QString::SkipEmptyParts))
+ logging.log(substring, LogSource_srd);
+#endif
g_free(text);
return SR_OK;