diff --git a/libssu/ssucoreconfig.cpp b/libssu/ssucoreconfig.cpp index ef84120..060a55c 100644 --- a/libssu/ssucoreconfig.cpp +++ b/libssu/ssucoreconfig.cpp @@ -12,7 +12,6 @@ #include #include "ssucoreconfig.h" -#include "ssulog.h" SsuCoreConfig *SsuCoreConfig::ssuCoreConfig = 0; diff --git a/libssu/ssulog.cpp b/libssu/ssulog.cpp index 32f7061..8066481 100644 --- a/libssu/ssulog.cpp +++ b/libssu/ssulog.cpp @@ -27,11 +27,13 @@ void SsuLog::print(int priority, QString message){ QByteArray ba = message.toUtf8(); const char *ca = ba.constData(); + // directly go through qsettings here to avoid recursive invocation + // of coreconfig / ssulog if (ssuLogLevel == -1){ - SsuCoreConfig *settings = SsuCoreConfig::instance(); + QSettings settings(SSU_CONFIGURATION, QSettings::IniFormat); - if (settings->contains("loglevel")) - ssuLog->ssuLogLevel = settings->value("loglevel").toInt(); + if (settings.contains("loglevel")) + ssuLog->ssuLogLevel = settings.value("loglevel").toInt(); else ssuLog->ssuLogLevel = LOG_ERR; }