diff --git a/tdeio/tdeio/job.cpp b/tdeio/tdeio/job.cpp index 43b0c808b..cbe1a81d5 100644 --- a/tdeio/tdeio/job.cpp +++ b/tdeio/tdeio/job.cpp @@ -114,9 +114,18 @@ public: unsigned long m_userTimestamp; }; -static TQObject *__job_root_obj = new TQObject(0, "jobroot"); +static TQObject *__job_root_obj = nullptr; -Job::Job(bool showProgressInfo) : TQObject(__job_root_obj, "job"), m_error(0), m_percent(0) +static TQObject* __getJobRoot() +{ + if (!__job_root_obj) + { + __job_root_obj = new TQObject(0, "jobroot"); + } + return __job_root_obj; +} + +Job::Job(bool showProgressInfo) : TQObject(__getJobRoot(), "job"), m_error(0), m_percent(0) , m_progressId(0), m_speedTimer(0), d( new JobPrivate ) { // All jobs delete themselves after emiting 'result'.