From 0a5106b8efd561d041ce10ce1efe2b31a9224b61 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Fri, 8 Aug 2014 09:57:07 +0200 Subject: [PATCH 1/2] Don't leak a QSettings object at every logged message --- servatrice/src/server_logger.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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; From 6e3c7d33da2dbfe4ba5dbb1b0e6fbf1dff713853 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Fri, 8 Aug 2014 13:43:50 +0200 Subject: [PATCH 2/2] Make protobuf cleanup its resourced when servatrice ends MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Should help make valgrind’s log a bit cleaner --- servatrice/src/main.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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; }