summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-02-14 08:40:45 +0100
committerMarc Mutz <marc.mutz@qt.io>2024-09-16 05:49:32 +0000
commit3af20bd8eb8c75017c5d6d138d7c42914ee5bee3 (patch)
tree095a3a1dd7a49932eb4b1a386bd5b3c8ce8bfcdc /src/corelib/kernel
parent81d55f772892445686862e49d0a6092668f8c725 (diff)
QtCore: De-duplicate vtables, 2024 edition
This de-inlines destuctors of classes whose vtables are proven to be duplicated by -Wweak-tables using the upcoming headersclean for _p.h feature. Since these are all private API classes, we can pick all the way back to 6.2, and we don't need the comment that the dtor must always stay empty, like for public classes. Task-number: QTBUG-45582 Task-number: QTBUG-126219 Pick-to: 6.8 Change-Id: I8c864c0d2ed3ca20d20d5cfc356290eb529edf6c Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qeventloop.cpp3
-rw-r--r--src/corelib/kernel/qeventloop_p.h1
-rw-r--r--src/corelib/kernel/qtimer.cpp3
-rw-r--r--src/corelib/kernel/qtimer_p.h1
4 files changed, 8 insertions, 0 deletions
diff --git a/src/corelib/kernel/qeventloop.cpp b/src/corelib/kernel/qeventloop.cpp
index e314a17ff80..2d401e7a425 100644
--- a/src/corelib/kernel/qeventloop.cpp
+++ b/src/corelib/kernel/qeventloop.cpp
@@ -14,6 +14,9 @@
QT_BEGIN_NAMESPACE
+QEventLoopPrivate::~QEventLoopPrivate()
+ = default;
+
/*!
\class QEventLoop
\inmodule QtCore
diff --git a/src/corelib/kernel/qeventloop_p.h b/src/corelib/kernel/qeventloop_p.h
index 1fcb7a8b811..cb00fba41fc 100644
--- a/src/corelib/kernel/qeventloop_p.h
+++ b/src/corelib/kernel/qeventloop_p.h
@@ -30,6 +30,7 @@ public:
returnCode.storeRelaxed(-1);
exit.storeRelaxed(true);
}
+ ~QEventLoopPrivate() override;
QAtomicInt quitLockRef;
diff --git a/src/corelib/kernel/qtimer.cpp b/src/corelib/kernel/qtimer.cpp
index 05501c282ba..e3b4b0ec36d 100644
--- a/src/corelib/kernel/qtimer.cpp
+++ b/src/corelib/kernel/qtimer.cpp
@@ -19,6 +19,9 @@ using namespace std::chrono_literals;
QT_BEGIN_NAMESPACE
+QTimerPrivate::~QTimerPrivate()
+ = default;
+
/*!
\class QTimer
\inmodule QtCore
diff --git a/src/corelib/kernel/qtimer_p.h b/src/corelib/kernel/qtimer_p.h
index 9347f6c241c..91d6234665f 100644
--- a/src/corelib/kernel/qtimer_p.h
+++ b/src/corelib/kernel/qtimer_p.h
@@ -35,6 +35,7 @@ public:
{
intervalDuration.notify();
}
+ ~QTimerPrivate() override;
static constexpr int INV_TIMER = -1; // invalid timer id