summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-09-07 08:01:44 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-09-18 05:06:33 +0000
commit18d7d96ef86802696e8cb81d4c272a782e59304e (patch)
tree10b9838039c9b0e8c1ed462bfa642bea592ae7bc /src
parent0038f62459aba3f1c23ba376660c1362c5318107 (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.cpp7
-rw-r--r--src/pdf/qpdflinkmodel.h3
-rw-r--r--src/pdf/qpdflinkmodel_p.h6
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();