From b01c05ef9be3993013b8ac4e958d922c4e11f7ba Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 16 Dec 2021 06:57:37 +0100 Subject: [PATCH] QtWidgets: auto-test-export private classes, unbreaking ubsan builds These classes are used in their respective tests, but since these only seem to access data members, the missing export macro was never detected. UBSan, however, checks the type_info on each access, so it needs the (polymorphic) class exported. Do so (for -developer-builds). Change-Id: I97b41cfb5dd7f1665cdf4f7a819a42fbf0388621 Reviewed-by: Fabian Kosmale --- src/widgets/itemviews/qtableview_p.h | 2 +- src/widgets/widgets/qabstractscrollarea_p.h | 2 +- src/widgets/widgets/qmdisubwindow_p.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/widgets/itemviews/qtableview_p.h b/src/widgets/itemviews/qtableview_p.h index 23095c0087..a0c22cd9f5 100644 --- a/src/widgets/itemviews/qtableview_p.h +++ b/src/widgets/itemviews/qtableview_p.h @@ -130,7 +130,7 @@ private: Q_DECLARE_TYPEINFO ( QSpanCollection::Span, Q_RELOCATABLE_TYPE); -class QTableViewPrivate : public QAbstractItemViewPrivate +class Q_AUTOTEST_EXPORT QTableViewPrivate : public QAbstractItemViewPrivate { Q_DECLARE_PUBLIC(QTableView) public: diff --git a/src/widgets/widgets/qabstractscrollarea_p.h b/src/widgets/widgets/qabstractscrollarea_p.h index 8effcd0f55..fdf5aeeed5 100644 --- a/src/widgets/widgets/qabstractscrollarea_p.h +++ b/src/widgets/widgets/qabstractscrollarea_p.h @@ -63,7 +63,7 @@ QT_BEGIN_NAMESPACE class QScrollBar; class QAbstractScrollAreaScrollBarContainer; -class QAbstractScrollAreaPrivate: public QFramePrivate +class Q_AUTOTEST_EXPORT QAbstractScrollAreaPrivate: public QFramePrivate { Q_DECLARE_PUBLIC(QAbstractScrollArea) diff --git a/src/widgets/widgets/qmdisubwindow_p.h b/src/widgets/widgets/qmdisubwindow_p.h index 043cf92201..8b55cf34cc 100644 --- a/src/widgets/widgets/qmdisubwindow_p.h +++ b/src/widgets/widgets/qmdisubwindow_p.h @@ -121,7 +121,7 @@ private: }; } // namespace QMdi -class QMdiSubWindowPrivate : public QWidgetPrivate +class Q_AUTOTEST_EXPORT QMdiSubWindowPrivate : public QWidgetPrivate { Q_DECLARE_PUBLIC(QMdiSubWindow) public: