aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-04-26 17:46:02 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-29 13:03:31 -0700
commit449dec82694aa1bc7fd1de56792ec7a0cf865bd0 (patch)
treec128f3b744219b3974748580606637c35ce7c21e
parentb2b328fd7e6528a968247f53b716c22cc48c44d0 (diff)
downloadsubsurface-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.cpp20
-rw-r--r--desktop-widgets/templatelayout.h2
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;