summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2021-12-02 17:36:38 +0100
committerMarc Mutz <marc.mutz@qt.io>2021-12-07 07:27:08 +0000
commitd94d2505bc8dff426febfec24ac292210dd4a4cb (patch)
tree1a0baaf0ea984d5d5f36b38612fef10bad8cb26c
parent35e0176cfa90c38a76cba11d7dccf178344457dd (diff)
Make dtors out-of-line
Pins vtable to a single TU, instead of duplicating it across all TUs that use the class, possibly causing invalid dynamic_cast<>s and other bugs. Fixes: QTBUG-98880 Task-number: QTBUG-45582 Change-Id: Ic296f4583097181ac4d824fac6dab4671ae14a50 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r--src/pdf/qpdfbookmarkmodel.cpp2
-rw-r--r--src/pdf/qpdfbookmarkmodel.h1
-rw-r--r--src/pdfquick/qquickpdfdocument.cpp5
-rw-r--r--src/pdfquick/qquickpdfdocument_p.h1
-rw-r--r--src/pdfquick/qquickpdflinkmodel.cpp5
-rw-r--r--src/pdfquick/qquickpdflinkmodel_p.h1
-rw-r--r--src/pdfquick/qquickpdfnavigationstack.cpp5
-rw-r--r--src/pdfquick/qquickpdfnavigationstack_p.h1
-rw-r--r--src/pdfquick/qquickpdfsearchmodel.cpp5
-rw-r--r--src/pdfquick/qquickpdfsearchmodel_p.h1
-rw-r--r--src/pdfquick/qquickpdfselection.cpp5
-rw-r--r--src/pdfquick/qquickpdfselection_p.h1
-rw-r--r--src/pdfquick/qquicktableviewextra.cpp5
-rw-r--r--src/pdfquick/qquicktableviewextra_p.h1
14 files changed, 39 insertions, 0 deletions
diff --git a/src/pdf/qpdfbookmarkmodel.cpp b/src/pdf/qpdfbookmarkmodel.cpp
index 08caf6624..8d8bb1973 100644
--- a/src/pdf/qpdfbookmarkmodel.cpp
+++ b/src/pdf/qpdfbookmarkmodel.cpp
@@ -227,6 +227,8 @@ QPdfBookmarkModel::QPdfBookmarkModel(QObject *parent)
{
}
+QPdfBookmarkModel::~QPdfBookmarkModel() = default;
+
QPdfDocument* QPdfBookmarkModel::document() const
{
Q_D(const QPdfBookmarkModel);
diff --git a/src/pdf/qpdfbookmarkmodel.h b/src/pdf/qpdfbookmarkmodel.h
index a0eb98962..ee65e11f4 100644
--- a/src/pdf/qpdfbookmarkmodel.h
+++ b/src/pdf/qpdfbookmarkmodel.h
@@ -72,6 +72,7 @@ public:
Q_ENUM(Role)
explicit QPdfBookmarkModel(QObject *parent = nullptr);
+ ~QPdfBookmarkModel() override;
QPdfDocument* document() const;
void setDocument(QPdfDocument *document);
diff --git a/src/pdfquick/qquickpdfdocument.cpp b/src/pdfquick/qquickpdfdocument.cpp
index 916505cfc..b9ee0b725 100644
--- a/src/pdfquick/qquickpdfdocument.cpp
+++ b/src/pdfquick/qquickpdfdocument.cpp
@@ -73,6 +73,11 @@ QQuickPdfDocument::QQuickPdfDocument(QObject *parent)
connect(&m_doc, &QPdfDocument::pageCountChanged, this, &QQuickPdfDocument::pageCountChanged);
}
+/*!
+ \internal
+*/
+QQuickPdfDocument::~QQuickPdfDocument() = default;
+
void QQuickPdfDocument::componentComplete()
{
if (m_doc.error() == QPdfDocument::IncorrectPasswordError)
diff --git a/src/pdfquick/qquickpdfdocument_p.h b/src/pdfquick/qquickpdfdocument_p.h
index 4b50aca63..29877d0d7 100644
--- a/src/pdfquick/qquickpdfdocument_p.h
+++ b/src/pdfquick/qquickpdfdocument_p.h
@@ -83,6 +83,7 @@ class Q_PDFQUICK_EXPORT QQuickPdfDocument : public QObject, public QQmlParserSta
public:
explicit QQuickPdfDocument(QObject *parent = nullptr);
+ ~QQuickPdfDocument() override;
void classBegin() override {}
void componentComplete() override;
diff --git a/src/pdfquick/qquickpdflinkmodel.cpp b/src/pdfquick/qquickpdflinkmodel.cpp
index 12b425beb..5d3d21654 100644
--- a/src/pdfquick/qquickpdflinkmodel.cpp
+++ b/src/pdfquick/qquickpdflinkmodel.cpp
@@ -108,6 +108,11 @@ QQuickPdfLinkModel::QQuickPdfLinkModel(QObject *parent)
}
/*!
+ \internal
+*/
+QQuickPdfLinkModel::~QQuickPdfLinkModel() = default;
+
+/*!
\qmlproperty PdfDocument PdfLinkModel::document
This property holds the PDF document in which links are to be found.
diff --git a/src/pdfquick/qquickpdflinkmodel_p.h b/src/pdfquick/qquickpdflinkmodel_p.h
index 1c7b4aba0..e7dcc6a3e 100644
--- a/src/pdfquick/qquickpdflinkmodel_p.h
+++ b/src/pdfquick/qquickpdflinkmodel_p.h
@@ -67,6 +67,7 @@ class Q_PDFQUICK_EXPORT QQuickPdfLinkModel : public QPdfLinkModel
public:
explicit QQuickPdfLinkModel(QObject *parent = nullptr);
+ ~QQuickPdfLinkModel() override;
QQuickPdfDocument *document() const;
void setDocument(QQuickPdfDocument *document);
diff --git a/src/pdfquick/qquickpdfnavigationstack.cpp b/src/pdfquick/qquickpdfnavigationstack.cpp
index 412318037..3992322e9 100644
--- a/src/pdfquick/qquickpdfnavigationstack.cpp
+++ b/src/pdfquick/qquickpdfnavigationstack.cpp
@@ -63,6 +63,11 @@ QQuickPdfNavigationStack::QQuickPdfNavigationStack(QObject *parent)
}
/*!
+ \internal
+*/
+QQuickPdfNavigationStack::~QQuickPdfNavigationStack() = default;
+
+/*!
\qmlmethod void PdfNavigationStack::forward()
Goes back to the page, location and zoom level that was being viewed before
diff --git a/src/pdfquick/qquickpdfnavigationstack_p.h b/src/pdfquick/qquickpdfnavigationstack_p.h
index 4b0085dc7..44ccb787a 100644
--- a/src/pdfquick/qquickpdfnavigationstack_p.h
+++ b/src/pdfquick/qquickpdfnavigationstack_p.h
@@ -70,6 +70,7 @@ class Q_PDFQUICK_EXPORT QQuickPdfNavigationStack : public QObject
public:
explicit QQuickPdfNavigationStack(QObject *parent = nullptr);
+ ~QQuickPdfNavigationStack() override;
Q_INVOKABLE void push(int page, QPointF location, qreal zoom, bool emitJumped = true);
Q_INVOKABLE void update(int page, QPointF location, qreal zoom);
diff --git a/src/pdfquick/qquickpdfsearchmodel.cpp b/src/pdfquick/qquickpdfsearchmodel.cpp
index fc022194b..b5d9bc67d 100644
--- a/src/pdfquick/qquickpdfsearchmodel.cpp
+++ b/src/pdfquick/qquickpdfsearchmodel.cpp
@@ -63,6 +63,11 @@ QQuickPdfSearchModel::QQuickPdfSearchModel(QObject *parent)
this, &QQuickPdfSearchModel::onResultsChanged);
}
+/*!
+ \internal
+*/
+QQuickPdfSearchModel::~QQuickPdfSearchModel() = default;
+
QQuickPdfDocument *QQuickPdfSearchModel::document() const
{
return m_quickDocument;
diff --git a/src/pdfquick/qquickpdfsearchmodel_p.h b/src/pdfquick/qquickpdfsearchmodel_p.h
index 5833bcb59..de1d86f42 100644
--- a/src/pdfquick/qquickpdfsearchmodel_p.h
+++ b/src/pdfquick/qquickpdfsearchmodel_p.h
@@ -72,6 +72,7 @@ class Q_PDFQUICK_EXPORT QQuickPdfSearchModel : public QPdfSearchModel
public:
explicit QQuickPdfSearchModel(QObject *parent = nullptr);
+ ~QQuickPdfSearchModel() override;
QQuickPdfDocument *document() const;
void setDocument(QQuickPdfDocument * document);
diff --git a/src/pdfquick/qquickpdfselection.cpp b/src/pdfquick/qquickpdfselection.cpp
index c35f20330..bc4b7a765 100644
--- a/src/pdfquick/qquickpdfselection.cpp
+++ b/src/pdfquick/qquickpdfselection.cpp
@@ -86,6 +86,11 @@ QQuickPdfSelection::QQuickPdfSelection(QQuickItem *parent)
#endif
}
+/*!
+ \internal
+*/
+QQuickPdfSelection::~QQuickPdfSelection() = default;
+
QQuickPdfDocument *QQuickPdfSelection::document() const
{
return m_document;
diff --git a/src/pdfquick/qquickpdfselection_p.h b/src/pdfquick/qquickpdfselection_p.h
index 660b22efc..997f95643 100644
--- a/src/pdfquick/qquickpdfselection_p.h
+++ b/src/pdfquick/qquickpdfselection_p.h
@@ -77,6 +77,7 @@ class Q_PDFQUICK_EXPORT QQuickPdfSelection : public QQuickItem
public:
explicit QQuickPdfSelection(QQuickItem *parent = nullptr);
+ ~QQuickPdfSelection() override;
QQuickPdfDocument *document() const;
void setDocument(QQuickPdfDocument * document);
diff --git a/src/pdfquick/qquicktableviewextra.cpp b/src/pdfquick/qquicktableviewextra.cpp
index f8698dc95..9687150a5 100644
--- a/src/pdfquick/qquicktableviewextra.cpp
+++ b/src/pdfquick/qquicktableviewextra.cpp
@@ -62,6 +62,11 @@ QQuickTableViewExtra::QQuickTableViewExtra(QObject *parent) : QObject(parent)
{
}
+/*!
+ \internal
+*/
+QQuickTableViewExtra::~QQuickTableViewExtra() = default;
+
QPoint QQuickTableViewExtra::cellAtPos(qreal x, qreal y) const
{
QPointF position(x, y);
diff --git a/src/pdfquick/qquicktableviewextra_p.h b/src/pdfquick/qquicktableviewextra_p.h
index 60101a95e..4ba97a06f 100644
--- a/src/pdfquick/qquicktableviewextra_p.h
+++ b/src/pdfquick/qquicktableviewextra_p.h
@@ -68,6 +68,7 @@ class Q_PDFQUICK_EXPORT QQuickTableViewExtra : public QObject
public:
QQuickTableViewExtra(QObject *parent = nullptr);
+ ~QQuickTableViewExtra() override;
QQuickTableView * tableView() const { return m_tableView; }
void setTableView(QQuickTableView * tableView) { m_tableView = tableView; }