aboutsummaryrefslogtreecommitdiff
path: root/lib/jobs
diff options
context:
space:
mode:
authorAlexey Rusakov <Kitsune-Ral@users.sf.net>2021-12-30 12:46:50 +0100
committerAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-01-01 20:46:53 +0100
commita5a261b2c0dc60f99c8caa4729683d2780677f88 (patch)
tree01f030078db8a192904bf1c321071ee3ecf67b09 /lib/jobs
parent5b8ea1a0d419fda1729aaa81e34ad20e0dacef44 (diff)
downloadlibquotient-a5a261b2c0dc60f99c8caa4729683d2780677f88.tar.gz
libquotient-a5a261b2c0dc60f99c8caa4729683d2780677f88.zip
Define destructors out-of-line when unique/scoped ptr are involved
Once visibility kicks in, MSVC changes its ways and tries to instantiate Private classes wrapped in smart pointers upon their occurence in the header file - which leads to build breakage because of a missing destructor. Usually making the outer class destructor out-of-line helps to fix this (see RoomEvent, for one example).
Diffstat (limited to 'lib/jobs')
-rw-r--r--lib/jobs/downloadfilejob.cpp2
-rw-r--r--lib/jobs/downloadfilejob.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/jobs/downloadfilejob.cpp b/lib/jobs/downloadfilejob.cpp
index 0b0531ad..6bf221cb 100644
--- a/lib/jobs/downloadfilejob.cpp
+++ b/lib/jobs/downloadfilejob.cpp
@@ -37,6 +37,8 @@ DownloadFileJob::DownloadFileJob(const QString& serverName,
setObjectName(QStringLiteral("DownloadFileJob"));
}
+DownloadFileJob::~DownloadFileJob() = default;
+
QString DownloadFileJob::targetFileName() const
{
return (d->targetFile ? d->targetFile : d->tempFile)->fileName();
diff --git a/lib/jobs/downloadfilejob.h b/lib/jobs/downloadfilejob.h
index d9f3b686..9e807fe7 100644
--- a/lib/jobs/downloadfilejob.h
+++ b/lib/jobs/downloadfilejob.h
@@ -13,6 +13,7 @@ public:
DownloadFileJob(const QString& serverName, const QString& mediaId,
const QString& localFilename = {});
+ ~DownloadFileJob() override;
QString targetFileName() const;