summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-03-22 16:54:52 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-22 12:01:09 -0700
commit463bb2570582ee6761117e54e7b4ef406be7c8cc (patch)
treead13168d1060486af9385ef1cbad3c963f45fcc0
parent0f30ca9b3359200e660422851033a7534471f3f6 (diff)
downloadsubsurface-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.cpp18
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;
}