diff --git a/servatrice/src/main.cpp b/servatrice/src/main.cpp index c5bf9cde..d90e0634 100644 --- a/servatrice/src/main.cpp +++ b/servatrice/src/main.cpp @@ -29,6 +29,7 @@ #include "server_logger.h" #include "rng_sfmt.h" #include "version_string.h" +#include #ifdef Q_OS_UNIX #include #endif @@ -233,5 +234,8 @@ int main(int argc, char *argv[]) loggerThread->wait(); delete loggerThread; + // Delete all global objects allocated by libprotobuf. + google::protobuf::ShutdownProtobufLibrary(); + return retval; } diff --git a/servatrice/src/server_logger.cpp b/servatrice/src/server_logger.cpp index 2dbbc5e5..a3e92aff 100644 --- a/servatrice/src/server_logger.cpp +++ b/servatrice/src/server_logger.cpp @@ -50,9 +50,9 @@ void ServerLogger::logMessage(QString message, void *caller) callerString = QString::number((qulonglong) caller, 16) + " "; //filter out all log entries based on values in configuration file - QSettings *settings = new QSettings("servatrice.ini", QSettings::IniFormat); - bool shouldWeWriteLog = settings->value("server/writelog").toBool(); - QString logFilters = settings->value("server/logfilters").toString(); + QSettings settings("servatrice.ini", QSettings::IniFormat); + bool shouldWeWriteLog = settings.value("server/writelog").toBool(); + QString logFilters = settings.value("server/logfilters").toString(); QStringList listlogFilters = logFilters.split(",", QString::SkipEmptyParts); bool shouldWeSkipLine = false;