summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <[email protected]>2024-05-28 08:32:11 +0200
committerMarc Mutz <[email protected]>2024-06-10 22:39:43 +0200
commit645509935ad5a2e8a3fcc858c41d08919a2596bd (patch)
tree893a77b38b87528715663fe797f522e8445bed41
parent09fce4a587047ff03c7ca37dbb2bb8f71a18a75e (diff)
QHttpMultiPartPrivate: de-inline dtors of polymorphic classes
Prevents weak (= duplicated) vtables and the associated problems. Amends the start of the public history. Pick-to: 6.8 6.7 6.5 Task-number: QTBUG-45582 Change-Id: I26618483900437aca05c753a5d53a359e43bd702 Reviewed-by: MÃ¥rten Nordheim <[email protected]>
-rw-r--r--src/network/access/qhttpmultipart.cpp8
-rw-r--r--src/network/access/qhttpmultipart_p.h9
2 files changed, 10 insertions, 7 deletions
diff --git a/src/network/access/qhttpmultipart.cpp b/src/network/access/qhttpmultipart.cpp
index a695969f008..711d89544c7 100644
--- a/src/network/access/qhttpmultipart.cpp
+++ b/src/network/access/qhttpmultipart.cpp
@@ -409,6 +409,14 @@ QHttpMultiPartPrivate::QHttpMultiPartPrivate() : contentType(QHttpMultiPart::Mix
Q_ASSERT(boundary.size() <= 70);
}
+QHttpMultiPartPrivate::~QHttpMultiPartPrivate()
+{
+ delete device;
+}
+
+QHttpMultiPartIODevice::~QHttpMultiPartIODevice()
+ = default;
+
qint64 QHttpMultiPartIODevice::size() const
{
// if not done yet, we calculate the size and the offsets of each part,
diff --git a/src/network/access/qhttpmultipart_p.h b/src/network/access/qhttpmultipart_p.h
index c8cc3f4f5aa..12462849b6c 100644
--- a/src/network/access/qhttpmultipart_p.h
+++ b/src/network/access/qhttpmultipart_p.h
@@ -94,8 +94,7 @@ public:
QIODevice(), multiPart(parentMultiPart), readPointer(0), deviceSize(-1) {
}
- ~QHttpMultiPartIODevice() {
- }
+ ~QHttpMultiPartIODevice() override;
virtual bool atEnd() const override {
return readPointer == size();
@@ -135,11 +134,7 @@ class QHttpMultiPartPrivate: public QObjectPrivate
public:
QHttpMultiPartPrivate();
-
- ~QHttpMultiPartPrivate()
- {
- delete device;
- }
+ ~QHttpMultiPartPrivate() override;
QList<QHttpPart> parts;
QByteArray boundary;