diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-03-22 16:54:52 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-03-22 12:01:09 -0700 |
commit | 463bb2570582ee6761117e54e7b4ef406be7c8cc (patch) | |
tree | ad13168d1060486af9385ef1cbad3c963f45fcc0 | |
parent | 0f30ca9b3359200e660422851033a7534471f3f6 (diff) | |
download | subsurface-463bb2570582ee6761117e54e7b4ef406be7c8cc.tar.gz |
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 <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | core/qt-init.cpp | 18 |
1 files 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; } |