From 463bb2570582ee6761117e54e7b4ef406be7c8cc Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 22 Mar 2020 16:54:52 +0100 Subject: cleanup: don't allocate translators on heap This is pointless bike-shedding: instead of allocating the QTranslators on the heap an assigning them to a variable at translation-unit scope, we can simply generate them as static objects. That makes 1) two fewer lines of code 2) the translator-resources are properly released when the application closes. Not that either of these points would make *any* difference. Signed-off-by: Berthold Stoeger --- core/qt-init.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/core/qt-init.cpp b/core/qt-init.cpp index 685f02248..1979ec63d 100644 --- a/core/qt-init.cpp +++ b/core/qt-init.cpp @@ -9,7 +9,7 @@ #include "core/settings/qPref.h" char *settings_suffix = NULL; -static QTranslator *qtTranslator, *ssrfTranslator; +static QTranslator qtTranslator, ssrfTranslator; void init_qt_late() { @@ -75,7 +75,6 @@ void init_qt_late() loc = getLocale(); QLocale::setDefault(loc); - qtTranslator = new QTranslator; QString translationLocation; #if defined(Q_OS_ANDROID) translationLocation = QLatin1String("assets:/translations"); @@ -84,18 +83,17 @@ void init_qt_late() #else translationLocation = QLibraryInfo::location(QLibraryInfo::TranslationsPath); #endif - if (qtTranslator->load(loc, "qt", "_", translationLocation)) { - application->installTranslator(qtTranslator); + if (qtTranslator.load(loc, "qt", "_", translationLocation)) { + application->installTranslator(&qtTranslator); } else { if (verbose && uiLang != "en_US" && uiLang != "en-US") qDebug() << "can't find Qt localization for locale" << uiLang << "searching in" << translationLocation; } - ssrfTranslator = new QTranslator; - if (ssrfTranslator->load(loc, "subsurface", "_") || - ssrfTranslator->load(loc, "subsurface", "_", translationLocation) || - ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("translations")) || - ssrfTranslator->load(loc, "subsurface", "_", getSubsurfaceDataPath("../translations"))) { - application->installTranslator(ssrfTranslator); + if (ssrfTranslator.load(loc, "subsurface", "_") || + ssrfTranslator.load(loc, "subsurface", "_", translationLocation) || + ssrfTranslator.load(loc, "subsurface", "_", getSubsurfaceDataPath("translations")) || + ssrfTranslator.load(loc, "subsurface", "_", getSubsurfaceDataPath("../translations"))) { + application->installTranslator(&ssrfTranslator); } else { qDebug() << "can't find Subsurface localization for locale" << uiLang; } -- cgit v1.2.3-70-g09d2