diff options
author | Marc Mutz <marc.mutz@qt.io> | 2023-09-07 08:01:44 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-09-18 05:06:33 +0000 |
commit | 18d7d96ef86802696e8cb81d4c272a782e59304e (patch) | |
tree | 10b9838039c9b0e8c1ed462bfa642bea592ae7bc /src | |
parent | 0038f62459aba3f1c23ba376660c1362c5318107 (diff) |
QPdfLinkModel: don't re-use QObject::d_ptr
Policy in qtwebengine is to use a separate d-pointer to avoid tying
the module build to a particular upstream Qt release.
Change-Id: I0be241ee379663721225484cda22d952942a95fd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit fa4a418ba62bd7243b1542bee7d1491e6d83b857)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 0fbda774701fca4493657949353c46e59a0ef2bc)
Diffstat (limited to 'src')
-rw-r--r-- | src/pdf/qpdflinkmodel.cpp | 7 | ||||
-rw-r--r-- | src/pdf/qpdflinkmodel.h | 3 | ||||
-rw-r--r-- | src/pdf/qpdflinkmodel_p.h | 6 |
3 files changed, 9 insertions, 7 deletions
diff --git a/src/pdf/qpdflinkmodel.cpp b/src/pdf/qpdflinkmodel.cpp index 819af7082..366b77344 100644 --- a/src/pdf/qpdflinkmodel.cpp +++ b/src/pdf/qpdflinkmodel.cpp @@ -44,7 +44,8 @@ Q_LOGGING_CATEGORY(qLcLink, "qt.pdf.links") Constructs a new link model with parent object \a parent. */ QPdfLinkModel::QPdfLinkModel(QObject *parent) - : QAbstractListModel(*(new QPdfLinkModelPrivate()), parent) + : QAbstractListModel(parent), + d_ptr{std::make_unique<QPdfLinkModelPrivate>(this)} { Q_D(QPdfLinkModel); QMetaEnum rolesMetaEnum = metaObject()->enumerator(metaObject()->indexOfEnumerator("Role")); @@ -166,10 +167,6 @@ QPdfLink QPdfLinkModel::linkAt(QPointF point) const return {}; } -QPdfLinkModelPrivate::QPdfLinkModelPrivate() : QAbstractItemModelPrivate() -{ -} - void QPdfLinkModelPrivate::update() { Q_Q(QPdfLinkModel); diff --git a/src/pdf/qpdflinkmodel.h b/src/pdf/qpdflinkmodel.h index 05151ef79..be2ce890c 100644 --- a/src/pdf/qpdflinkmodel.h +++ b/src/pdf/qpdflinkmodel.h @@ -10,6 +10,8 @@ #include <QtCore/QAbstractListModel> +#include <memory> + QT_BEGIN_NAMESPACE class QPdfLinkModelPrivate; @@ -57,6 +59,7 @@ private Q_SLOTS: private: Q_DECLARE_PRIVATE(QPdfLinkModel) + const std::unique_ptr<QPdfLinkModelPrivate> d_ptr; }; QT_END_NAMESPACE diff --git a/src/pdf/qpdflinkmodel_p.h b/src/pdf/qpdflinkmodel_p.h index dbd420890..ba46a6e00 100644 --- a/src/pdf/qpdflinkmodel_p.h +++ b/src/pdf/qpdflinkmodel_p.h @@ -20,12 +20,14 @@ QT_BEGIN_NAMESPACE -class QPdfLinkModelPrivate: public QAbstractItemModelPrivate +class QPdfLinkModelPrivate { + QPdfLinkModel *q_ptr; Q_DECLARE_PUBLIC(QPdfLinkModel) public: - QPdfLinkModelPrivate(); + explicit QPdfLinkModelPrivate(QPdfLinkModel *qq) + : q_ptr(qq) {} void update(); |