diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-04-26 17:46:02 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-04-29 13:03:31 -0700 |
commit | 449dec82694aa1bc7fd1de56792ec7a0cf865bd0 (patch) | |
tree | c128f3b744219b3974748580606637c35ce7c21e | |
parent | b2b328fd7e6528a968247f53b716c22cc48c44d0 (diff) | |
download | subsurface-449dec82694aa1bc7fd1de56792ec7a0cf865bd0.tar.gz |
Cleanup: remove TemplateLayout::m_engine member variable
TemplateLayout::m_engine is a Grantlee::Engine that is reallocated
for every function call. Instead of the archaic memory-management,
remove the member variable and make it a local variable of the
two functions that need it. There seems to be no point in keeping
the object alive beyond the function's scope.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | desktop-widgets/templatelayout.cpp | 20 | ||||
-rw-r--r-- | desktop-widgets/templatelayout.h | 2 |
2 files changed, 6 insertions, 16 deletions
diff --git a/desktop-widgets/templatelayout.cpp b/desktop-widgets/templatelayout.cpp index b28c78741..21eac0c92 100644 --- a/desktop-widgets/templatelayout.cpp +++ b/desktop-widgets/templatelayout.cpp @@ -92,18 +92,12 @@ void copy_bundled_templates(QString src, QString dst, QStringList *templateBacku } } -TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions) : - m_engine(NULL) +TemplateLayout::TemplateLayout(print_options *PrintOptions, template_options *templateOptions) { this->PrintOptions = PrintOptions; this->templateOptions = templateOptions; } -TemplateLayout::~TemplateLayout() -{ - delete m_engine; -} - /* a HTML pre-processor stage. acts like a compatibility layer * between some Grantlee variables and DiveObjectHelper Q_PROPERTIES; */ @@ -143,8 +137,7 @@ QString TemplateLayout::generate() int totalWork = getTotalWork(PrintOptions); QString htmlContent; - delete m_engine; - m_engine = new Grantlee::Engine(this); + Grantlee::Engine engine(this); Grantlee::registerMetaType<template_options>(); Grantlee::registerMetaType<print_options>(); @@ -177,7 +170,7 @@ QString TemplateLayout::generate() QString preprocessed = preprocessTemplate(templateContents); /* create the template from QString; is this thing allocating memory? */ - Grantlee::Template t = m_engine->newTemplate(preprocessed, PrintOptions->p_template); + Grantlee::Template t = engine.newTemplate(preprocessed, PrintOptions->p_template); if (!t || t->error()) { qDebug() << "Can't load template"; return htmlContent; @@ -194,13 +187,12 @@ QString TemplateLayout::generate() QString TemplateLayout::generateStatistics() { QString htmlContent; - delete m_engine; - m_engine = new Grantlee::Engine(this); + Grantlee::Engine engine(this); QSharedPointer<Grantlee::FileSystemTemplateLoader> m_templateLoader = QSharedPointer<Grantlee::FileSystemTemplateLoader>(new Grantlee::FileSystemTemplateLoader()); m_templateLoader->setTemplateDirs(QStringList() << getPrintingTemplatePathUser() + QDir::separator() + QString("statistics")); - m_engine->addTemplateLoader(m_templateLoader); + engine.addTemplateLoader(m_templateLoader); Grantlee::registerMetaType<YearInfo>(); Grantlee::registerMetaType<template_options>(); @@ -222,7 +214,7 @@ QString TemplateLayout::generateStatistics() c.insert("template_options", QVariant::fromValue(*templateOptions)); c.insert("print_options", QVariant::fromValue(*PrintOptions)); - Grantlee::Template t = m_engine->loadByName(PrintOptions->p_template); + Grantlee::Template t = engine.loadByName(PrintOptions->p_template); if (!t || t->error()) { qDebug() << "Can't load template"; return htmlContent; diff --git a/desktop-widgets/templatelayout.h b/desktop-widgets/templatelayout.h index 3b574c0db..da3dc177c 100644 --- a/desktop-widgets/templatelayout.h +++ b/desktop-widgets/templatelayout.h @@ -21,14 +21,12 @@ class TemplateLayout : public QObject { Q_OBJECT public: TemplateLayout(print_options *PrintOptions, template_options *templateOptions); - ~TemplateLayout(); QString generate(); QString generateStatistics(); static QString readTemplate(QString template_name); static void writeTemplate(QString template_name, QString grantlee_template); private: - Grantlee::Engine *m_engine; print_options *PrintOptions; template_options *templateOptions; |