From 7248a15acf8d58802531bd87ba4796c8916dbbd8 Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Mon, 1 Dec 2025 17:03:21 +0100 Subject: [PATCH] chore: use std::make_unique to improve memory management setting the parent on a QObject will make sure that when parent is deleted the child objects will be too Signed-off-by: Matthieu Gallien --- src/gui/application.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/gui/application.cpp b/src/gui/application.cpp index a250954dae503..4cb0767ba6eac 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -1028,9 +1028,9 @@ void Application::setupTranslations() const auto lang = substLang(!enforcedLocale.isEmpty() ? enforcedLocale : QLocale::system().uiLanguages(QLocale::TagSeparator::Underscore).first()); qCInfo(lcApplication) << "selected application language:" << lang; - auto *translator = new QTranslator(this); - auto *qtTranslator = new QTranslator(this); - auto *qtkeychainTranslator = new QTranslator(this); + auto translator = std::make_unique(); + auto qtTranslator = std::make_unique(); + auto qtkeychainTranslator = std::make_unique(); const auto trPath = applicationTrPath(); const auto trFolder = QDir{trPath}; @@ -1066,12 +1066,20 @@ void Application::setupTranslations() qCDebug(lcApplication()) << "impossible to load QtKeychain translation catalog" << qtkeychainTrFile; } } - if (!translator->isEmpty()) - installTranslator(translator); - if (!qtTranslator->isEmpty()) - installTranslator(qtTranslator); - if (!qtkeychainTranslator->isEmpty()) - installTranslator(qtkeychainTranslator); + if (!translator->isEmpty()) { + translator->setParent(this); + installTranslator(translator.release()); + } + + if (!qtTranslator->isEmpty()) { + qtTranslator->setParent(this); + installTranslator(qtTranslator.release()); + } + + if (!qtkeychainTranslator->isEmpty()) { + qtkeychainTranslator->setParent(this); + installTranslator(qtkeychainTranslator.release()); + } } else { qCWarning(lcApplication()) << "translation catalog failed to load"; const auto folderContent = trFolder.entryList();