diff options
author | Alexey Rusakov <Kitsune-Ral@users.sf.net> | 2021-12-30 12:46:50 +0100 |
---|---|---|
committer | Alexey Rusakov <Kitsune-Ral@users.sf.net> | 2022-01-01 20:46:53 +0100 |
commit | a5a261b2c0dc60f99c8caa4729683d2780677f88 (patch) | |
tree | 01f030078db8a192904bf1c321071ee3ecf67b09 /lib/jobs | |
parent | 5b8ea1a0d419fda1729aaa81e34ad20e0dacef44 (diff) | |
download | libquotient-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.cpp | 2 | ||||
-rw-r--r-- | lib/jobs/downloadfilejob.h | 1 |
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; |