From 78ce3d5e2de2ba97191fcbfda7b9fcf840eaf486 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 28 Dec 2021 23:28:38 +0100 Subject: 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 (cherry picked from commit b31c4e38dc7015663825ee46d124a8759388d67f) Reviewed-by: Qt CI Bot --- src/gui/kernel/qwindow.cpp | 9 +++++++++ src/gui/kernel/qwindow_p.h | 7 ++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src/gui/kernel') 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); -- cgit v1.2.3