summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2021-12-28 23:28:38 +0100
committerMarc Mutz <marc.mutz@qt.io>2022-01-22 09:58:08 +0000
commit78ce3d5e2de2ba97191fcbfda7b9fcf840eaf486 (patch)
tree8755633d09c0d38b9fff3de38986634d7eab42fe /src/gui/kernel
parent6c074d4d717046c62168335e7e5463cd8ff5fdbf (diff)
QWindowPrivate: de-inline dtor and ctor
It's private API, but exported, so de-inline the dtor to pin the vtable in QtGui instead of potentially duplicating it in every library that uses the class. Ditto ctor, but that's just code hygiene: we don't want the code to be duplicated across all users. Task-number: QTBUG-45582 Change-Id: I91ea38be20fc67795466a68ca5721837255b33a0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit b31c4e38dc7015663825ee46d124a8759388d67f) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qwindow.cpp9
-rw-r--r--src/gui/kernel/qwindow_p.h7
2 files changed, 11 insertions, 5 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index cf1dabbff9..2ca4814bfa 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -234,6 +234,15 @@ QWindow::~QWindow()
QGuiApplicationPrivate::currentMousePressWindow = nullptr;
}
+QWindowPrivate::QWindowPrivate()
+ : QObjectPrivate()
+{
+ isWindow = true;
+}
+
+QWindowPrivate::~QWindowPrivate()
+ = default;
+
void QWindowPrivate::init(QScreen *targetScreen)
{
Q_Q(QWindow);
diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h
index 34fddf801b..dafd09b1e2 100644
--- a/src/gui/kernel/qwindow_p.h
+++ b/src/gui/kernel/qwindow_p.h
@@ -73,11 +73,8 @@ public:
WindowFrameExclusive
};
- QWindowPrivate()
- : QObjectPrivate()
- {
- isWindow = true;
- }
+ QWindowPrivate();
+ ~QWindowPrivate() override;
void init(QScreen *targetScreen = nullptr);