diff --git a/src/scripting/scripthandler.h b/src/scripting/scripthandler.h --- a/src/scripting/scripthandler.h +++ b/src/scripting/scripthandler.h @@ -37,7 +37,7 @@ { Q_OBJECT public: - explicit ScriptHandler(const Domain::TaskRepository::Ptr &taskRepository); + explicit ScriptHandler(const Domain::TaskRepository::Ptr &taskRepository, QObject *parent = Q_NULLPTR); QScriptValue evaluateFile(const QString &filename); QScriptValue evaluateString(const QString &string); diff --git a/src/scripting/scripthandler.cpp b/src/scripting/scripthandler.cpp --- a/src/scripting/scripthandler.cpp +++ b/src/scripting/scripthandler.cpp @@ -30,12 +30,13 @@ using namespace Scripting; -ScriptHandler::ScriptHandler(const Domain::TaskRepository::Ptr &taskRepository) - : m_taskRepository(taskRepository), +ScriptHandler::ScriptHandler(const Domain::TaskRepository::Ptr &taskRepository, QObject *parent) + : QObject(parent), + m_taskRepository(taskRepository), m_engine(new QScriptEngine(this)) { m_engine->globalObject().setProperty(QStringLiteral("task"), - m_engine->newQObject(new TaskAction(m_taskRepository))); + m_engine->newQObject(new TaskAction(m_taskRepository, this))); } QScriptValue ScriptHandler::evaluateFile(const QString &filename) diff --git a/src/scripting/taskaction.h b/src/scripting/taskaction.h --- a/src/scripting/taskaction.h +++ b/src/scripting/taskaction.h @@ -37,7 +37,7 @@ { Q_OBJECT public: - explicit TaskAction(const Domain::TaskRepository::Ptr &taskRepository); + explicit TaskAction(const Domain::TaskRepository::Ptr &taskRepository, QObject *parent = Q_NULLPTR); public slots: diff --git a/src/scripting/taskaction.cpp b/src/scripting/taskaction.cpp --- a/src/scripting/taskaction.cpp +++ b/src/scripting/taskaction.cpp @@ -26,8 +26,9 @@ using namespace Scripting; -TaskAction::TaskAction(const Domain::TaskRepository::Ptr &taskRepository) - : m_taskRepository(taskRepository) +TaskAction::TaskAction(const Domain::TaskRepository::Ptr &taskRepository, QObject *parent) + : QObject(parent), + m_taskRepository(taskRepository) { } diff --git a/tests/units/scripting/scripthandlertest.cpp b/tests/units/scripting/scripthandlertest.cpp --- a/tests/units/scripting/scripthandlertest.cpp +++ b/tests/units/scripting/scripthandlertest.cpp @@ -39,7 +39,7 @@ Utils::MockObject taskRepositoryMock; // WHEN - auto scripthandler = new Scripting::ScriptHandler(taskRepositoryMock.getInstance()); + auto scripthandler = new Scripting::ScriptHandler(taskRepositoryMock.getInstance(), this); // THEN QVERIFY(!scripthandler->engine()->globalObject().property(QStringLiteral("task")).isNull()); @@ -50,7 +50,7 @@ { // GIVEN Utils::MockObject taskRepositoryMock; - auto scripthandler = new Scripting::ScriptHandler(taskRepositoryMock.getInstance()); + auto scripthandler = new Scripting::ScriptHandler(taskRepositoryMock.getInstance(), this); auto expression = QStringLiteral("41+1"); @@ -66,7 +66,7 @@ { // GIVEN Utils::MockObject taskRepositoryMock; - auto scripthandler = new Scripting::ScriptHandler(taskRepositoryMock.getInstance()); + auto scripthandler = new Scripting::ScriptHandler(taskRepositoryMock.getInstance(), this); auto expression = QStringLiteral("41+1");