From b31c4e38dc7015663825ee46d124a8759388d67f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 28 Dec 2021 23:28:38 +0100 Subject: [PATCH] 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. Pick-to: 6.3 Task-number: QTBUG-45582 Change-Id: I91ea38be20fc67795466a68ca5721837255b33a0 Reviewed-by: Volker Hilsheimer --- src/gui/kernel/qwindow.cpp | 6 ++++++ src/gui/kernel/qwindow_p.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 2a2a2c542f..f2dacda0f5 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -236,6 +236,12 @@ QWindow::~QWindow() d->isWindow = false; } +QWindowPrivate::QWindowPrivate() + = default; + +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 b2bd4be6a9..dafd09b1e2 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -73,6 +73,9 @@ public: WindowFrameExclusive }; + QWindowPrivate(); + ~QWindowPrivate() override; + void init(QScreen *targetScreen = nullptr); #ifndef QT_NO_CURSOR