diff options
author | Marc Mutz <marc.mutz@qt.io> | 2021-12-03 11:48:08 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-01-09 18:13:57 +0000 |
commit | 1451c1532c2a5b65b5cbc586adc0cb8dce5bf27a (patch) | |
tree | f5815060e53f0f9cbf6565f80c92905c16233cc5 | |
parent | d95f6a6b23e3052c39a32f50d6e604cf17e698e3 (diff) |
Un-export the value classes
Value classes should not be exported wholesale, because that makes
inline function part of the ABI on Windows debug builds, severely
restricting what we can do to them going forward (e.g. removing).
De-inline the QPdfSearchResult dtor as a drive-by.
Fixes: QTBUG-98885
Pick-to: 6.3
Change-Id: If2a2c7bec2b99df7e33dfc008fd07e6edda5413c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r-- | src/pdf/qpdfdestination.h | 21 | ||||
-rw-r--r-- | src/pdf/qpdfsearchresult.cpp | 2 | ||||
-rw-r--r-- | src/pdf/qpdfsearchresult.h | 14 | ||||
-rw-r--r-- | src/pdf/qpdfselection.h | 27 |
4 files changed, 34 insertions, 30 deletions
diff --git a/src/pdf/qpdfdestination.h b/src/pdf/qpdfdestination.h index efc283ade..e445f0e5a 100644 --- a/src/pdf/qpdfdestination.h +++ b/src/pdf/qpdfdestination.h @@ -50,27 +50,28 @@ QT_BEGIN_NAMESPACE class QPdfDestinationPrivate; -class Q_PDF_EXPORT QPdfDestination +class QPdfDestination { - Q_GADGET + Q_GADGET_EXPORT(Q_PDF_EXPORT) Q_PROPERTY(bool valid READ isValid) Q_PROPERTY(int page READ page) Q_PROPERTY(QPointF location READ location) Q_PROPERTY(qreal zoom READ zoom) public: - ~QPdfDestination(); - QPdfDestination(const QPdfDestination &other); - QPdfDestination &operator=(const QPdfDestination &other); + Q_PDF_EXPORT ~QPdfDestination(); + Q_PDF_EXPORT QPdfDestination(const QPdfDestination &other); + Q_PDF_EXPORT QPdfDestination &operator=(const QPdfDestination &other); - QPdfDestination(QPdfDestination &&other) noexcept; + Q_PDF_EXPORT QPdfDestination(QPdfDestination &&other) noexcept; QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QPdfDestination) void swap(QPdfDestination &other) noexcept { d.swap(other.d); } - bool isValid() const; - int page() const; - QPointF location() const; - qreal zoom() const; + + Q_PDF_EXPORT bool isValid() const; + Q_PDF_EXPORT int page() const; + Q_PDF_EXPORT QPointF location() const; + Q_PDF_EXPORT qreal zoom() const; protected: QPdfDestination(); diff --git a/src/pdf/qpdfsearchresult.cpp b/src/pdf/qpdfsearchresult.cpp index 026b06dec..7c096868a 100644 --- a/src/pdf/qpdfsearchresult.cpp +++ b/src/pdf/qpdfsearchresult.cpp @@ -56,6 +56,8 @@ QPdfSearchResult::QPdfSearchResult(int page, QList<QRectF> rects, QPdfSearchResult::QPdfSearchResult(QPdfSearchResultPrivate *d) : QPdfDestination(static_cast<QPdfDestinationPrivate *>(d)) { } +QPdfSearchResult::~QPdfSearchResult() = default; + QString QPdfSearchResult::contextBefore() const { return static_cast<QPdfSearchResultPrivate *>(d.data())->contextBefore; diff --git a/src/pdf/qpdfsearchresult.h b/src/pdf/qpdfsearchresult.h index 207c67628..f191b0082 100644 --- a/src/pdf/qpdfsearchresult.h +++ b/src/pdf/qpdfsearchresult.h @@ -49,20 +49,20 @@ QT_BEGIN_NAMESPACE class QPdfSearchResultPrivate; -class Q_PDF_EXPORT QPdfSearchResult : public QPdfDestination +class QPdfSearchResult : public QPdfDestination { - Q_GADGET + Q_GADGET_EXPORT(Q_PDF_EXPORT) Q_PROPERTY(QString contextBefore READ contextBefore) Q_PROPERTY(QString contextAfter READ contextAfter) Q_PROPERTY(QList<QRectF> rectangles READ rectangles) public: - QPdfSearchResult(); - ~QPdfSearchResult() {} + Q_PDF_EXPORT QPdfSearchResult(); + Q_PDF_EXPORT ~QPdfSearchResult(); - QString contextBefore() const; - QString contextAfter() const; - QList<QRectF> rectangles() const; + Q_PDF_EXPORT QString contextBefore() const; + Q_PDF_EXPORT QString contextAfter() const; + Q_PDF_EXPORT QList<QRectF> rectangles() const; private: QPdfSearchResult(int page, QList<QRectF> rects, QString contextBefore, QString contextAfter); diff --git a/src/pdf/qpdfselection.h b/src/pdf/qpdfselection.h index 248c1e4e3..dbd9dff46 100644 --- a/src/pdf/qpdfselection.h +++ b/src/pdf/qpdfselection.h @@ -51,9 +51,9 @@ QT_BEGIN_NAMESPACE class QPdfSelectionPrivate; -class Q_PDF_EXPORT QPdfSelection +class QPdfSelection { - Q_GADGET + Q_GADGET_EXPORT(Q_PDF_EXPORT) Q_PROPERTY(bool valid READ isValid) Q_PROPERTY(QList<QPolygonF> bounds READ bounds) Q_PROPERTY(QRectF boundingRectangle READ boundingRectangle) @@ -62,22 +62,23 @@ class Q_PDF_EXPORT QPdfSelection Q_PROPERTY(int endIndex READ endIndex) public: - ~QPdfSelection(); - QPdfSelection(const QPdfSelection &other); - QPdfSelection &operator=(const QPdfSelection &other); + Q_PDF_EXPORT ~QPdfSelection(); + Q_PDF_EXPORT QPdfSelection(const QPdfSelection &other); + Q_PDF_EXPORT QPdfSelection &operator=(const QPdfSelection &other); - QPdfSelection(QPdfSelection &&other) noexcept; + Q_PDF_EXPORT QPdfSelection(QPdfSelection &&other) noexcept; QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QPdfSelection) void swap(QPdfSelection &other) noexcept { d.swap(other.d); } - bool isValid() const; - QList<QPolygonF> bounds() const; - QString text() const; - QRectF boundingRectangle() const; - int startIndex() const; - int endIndex() const; + + Q_PDF_EXPORT bool isValid() const; + Q_PDF_EXPORT QList<QPolygonF> bounds() const; + Q_PDF_EXPORT QString text() const; + Q_PDF_EXPORT QRectF boundingRectangle() const; + Q_PDF_EXPORT int startIndex() const; + Q_PDF_EXPORT int endIndex() const; #if QT_CONFIG(clipboard) - void copyToClipboard(QClipboard::Mode mode = QClipboard::Clipboard) const; + Q_PDF_EXPORT void copyToClipboard(QClipboard::Mode mode = QClipboard::Clipboard) const; #endif private: |