From 4a7c76d4a5365343178ea29c8a8e9b8d8acb89b5 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 5 Oct 2023 17:26:25 +0200 Subject: Include what you need: All these TUs relied on transitive includes of qpointer.h, maybe to a large extent via qevent.h, though, given that qevent.h is more or less the only public QtBase header that includes qpointer.h, something else seems to be at play here. Said qevent.h actually needs QPointer in-name-only, so a forward declaration would suffice. Prepare for qevent.h dropping the include. The algorithm I used was: If the TU mentions 'passiveGrabbers', the name of the QEvent function that returns QPointers, and the TU doesn't have qpointer.h included explicitly, include it. That may produce False Positives, but better safe than sorry. Otherwise, in src/, add an include to all source and header files which mention QPointer. Exception: if foo.h of a foo.cpp already includes it, don't include again. Task-number: QTBUG-117670 Change-Id: I3321cccdb41ce0ba6d8a709cea92427aba398254 Reviewed-by: Fabian Kosmale --- src/widgets/dialogs/qcolordialog.cpp | 2 ++ src/widgets/dialogs/qfontdialog_p.h | 2 ++ src/widgets/dialogs/qinputdialog.cpp | 2 ++ src/widgets/dialogs/qmessagebox.cpp | 1 + src/widgets/dialogs/qprogressdialog.cpp | 3 +++ src/widgets/doc/snippets/code/src_gui_kernel_qformlayout.cpp | 2 ++ src/widgets/graphicsview/qgraphicsproxywidget_p.h | 2 ++ src/widgets/graphicsview/qgraphicsscene.cpp | 2 ++ src/widgets/graphicsview/qgraphicsview_p.h | 2 ++ src/widgets/itemviews/qabstractitemview_p.h | 3 +++ src/widgets/itemviews/qdatawidgetmapper.cpp | 2 ++ src/widgets/kernel/qaction_widgets_p.h | 2 ++ src/widgets/kernel/qgesturemanager_p.h | 2 ++ src/widgets/kernel/qstackedlayout.cpp | 2 ++ src/widgets/kernel/qwidget_p.h | 2 ++ src/widgets/kernel/qwidgetaction_p.h | 2 ++ src/widgets/kernel/qwidgetwindow_p.h | 2 ++ src/widgets/kernel/qwindowcontainer.cpp | 2 ++ src/widgets/styles/qproxystyle_p.h | 2 ++ src/widgets/util/qcompleter_p.h | 2 ++ src/widgets/util/qflickgesture_p.h | 2 ++ src/widgets/widgets/qabstractbutton.cpp | 2 ++ src/widgets/widgets/qabstractspinbox.cpp | 1 + src/widgets/widgets/qcombobox.cpp | 2 ++ src/widgets/widgets/qdatetimeedit_p.h | 1 + src/widgets/widgets/qdialogbuttonbox.cpp | 2 ++ src/widgets/widgets/qgroupbox.cpp | 1 + src/widgets/widgets/qlabel_p.h | 2 ++ src/widgets/widgets/qmainwindowlayout_p.h | 2 ++ src/widgets/widgets/qmdiarea_p.h | 2 ++ src/widgets/widgets/qmenu_p.h | 2 ++ src/widgets/widgets/qmenubar_p.h | 2 ++ src/widgets/widgets/qplaintextedit_p.h | 2 ++ src/widgets/widgets/qpushbutton_p.h | 2 ++ src/widgets/widgets/qscrollarea_p.h | 2 ++ src/widgets/widgets/qscrollbar.cpp | 3 +++ src/widgets/widgets/qsizegrip.cpp | 2 ++ src/widgets/widgets/qsplitter_p.h | 2 ++ 38 files changed, 75 insertions(+) (limited to 'src/widgets') diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp index 5ec2424b5c..d31e54bc94 100644 --- a/src/widgets/dialogs/qcolordialog.cpp +++ b/src/widgets/dialogs/qcolordialog.cpp @@ -43,6 +43,8 @@ #include #include +#include + #include QT_BEGIN_NAMESPACE diff --git a/src/widgets/dialogs/qfontdialog_p.h b/src/widgets/dialogs/qfontdialog_p.h index d46d1986e8..797f4c1833 100644 --- a/src/widgets/dialogs/qfontdialog_p.h +++ b/src/widgets/dialogs/qfontdialog_p.h @@ -21,6 +21,8 @@ #include "qfontdatabase.h" #include "qfontdialog.h" #include + +#include #include "qsharedpointer.h" QT_REQUIRE_CONFIG(fontdialog); diff --git a/src/widgets/dialogs/qinputdialog.cpp b/src/widgets/dialogs/qinputdialog.cpp index 89ea6e6746..d61f65bab7 100644 --- a/src/widgets/dialogs/qinputdialog.cpp +++ b/src/widgets/dialogs/qinputdialog.cpp @@ -18,6 +18,8 @@ #include "qevent.h" #include "qdialog_p.h" +#include + QT_USE_NAMESPACE enum CandidateSignal { diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index efe846900d..2830d3f8ee 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -32,6 +32,7 @@ #include #include +#include #include #ifdef Q_OS_WIN diff --git a/src/widgets/dialogs/qprogressdialog.cpp b/src/widgets/dialogs/qprogressdialog.cpp index 5c2f00913a..5ef2192df4 100644 --- a/src/widgets/dialogs/qprogressdialog.cpp +++ b/src/widgets/dialogs/qprogressdialog.cpp @@ -17,6 +17,9 @@ #include "qelapsedtimer.h" #include "qscopedvaluerollback.h" #include + +#include + #include using namespace std::chrono_literals; diff --git a/src/widgets/doc/snippets/code/src_gui_kernel_qformlayout.cpp b/src/widgets/doc/snippets/code/src_gui_kernel_qformlayout.cpp index ab20b9da2e..cb90436462 100644 --- a/src/widgets/doc/snippets/code/src_gui_kernel_qformlayout.cpp +++ b/src/widgets/doc/snippets/code/src_gui_kernel_qformlayout.cpp @@ -1,6 +1,8 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +#include + //! [0] QFormLayout *formLayout = new QFormLayout(this); formLayout->addRow(tr("&Name:"), nameLineEdit); diff --git a/src/widgets/graphicsview/qgraphicsproxywidget_p.h b/src/widgets/graphicsview/qgraphicsproxywidget_p.h index 902a66ee68..328faad0be 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget_p.h +++ b/src/widgets/graphicsview/qgraphicsproxywidget_p.h @@ -19,6 +19,8 @@ #include "qgraphicsproxywidget.h" #include "private/qgraphicswidget_p.h" +#include + QT_REQUIRE_CONFIG(graphicsview); QT_BEGIN_NAMESPACE diff --git a/src/widgets/graphicsview/qgraphicsscene.cpp b/src/widgets/graphicsview/qgraphicsscene.cpp index 4badeba313..ad63ff18a0 100644 --- a/src/widgets/graphicsview/qgraphicsscene.cpp +++ b/src/widgets/graphicsview/qgraphicsscene.cpp @@ -216,6 +216,8 @@ #include #include +#include + // #define GESTURE_DEBUG #ifndef GESTURE_DEBUG # define DEBUG if (0) qDebug diff --git a/src/widgets/graphicsview/qgraphicsview_p.h b/src/widgets/graphicsview/qgraphicsview_p.h index a15defe621..7f1682beca 100644 --- a/src/widgets/graphicsview/qgraphicsview_p.h +++ b/src/widgets/graphicsview/qgraphicsview_p.h @@ -25,6 +25,8 @@ #include #include +#include + QT_REQUIRE_CONFIG(graphicsview); QT_BEGIN_NAMESPACE diff --git a/src/widgets/itemviews/qabstractitemview_p.h b/src/widgets/itemviews/qabstractitemview_p.h index f496e5ca6b..433429f48b 100644 --- a/src/widgets/itemviews/qabstractitemview_p.h +++ b/src/widgets/itemviews/qabstractitemview_p.h @@ -24,9 +24,12 @@ #include "QtCore/qmimedata.h" #include "QtGui/qpainter.h" #include "QtGui/qregion.h" + #include "QtCore/qdebug.h" #include "QtCore/qbasictimer.h" #include "QtCore/qelapsedtimer.h" +#include + #include diff --git a/src/widgets/itemviews/qdatawidgetmapper.cpp b/src/widgets/itemviews/qdatawidgetmapper.cpp index 0b43707b02..3b7e97eed9 100644 --- a/src/widgets/itemviews/qdatawidgetmapper.cpp +++ b/src/widgets/itemviews/qdatawidgetmapper.cpp @@ -7,8 +7,10 @@ #include "qmetaobject.h" #include "qwidget.h" #include "qstyleditemdelegate.h" + #include "private/qobject_p.h" #include "private/qabstractitemmodel_p.h" +#include #include #include diff --git a/src/widgets/kernel/qaction_widgets_p.h b/src/widgets/kernel/qaction_widgets_p.h index bc24ce3df1..77c3d8a680 100644 --- a/src/widgets/kernel/qaction_widgets_p.h +++ b/src/widgets/kernel/qaction_widgets_p.h @@ -20,6 +20,8 @@ #include #endif +#include + QT_REQUIRE_CONFIG(action); QT_BEGIN_NAMESPACE diff --git a/src/widgets/kernel/qgesturemanager_p.h b/src/widgets/kernel/qgesturemanager_p.h index f15e4ba233..02beb024f9 100644 --- a/src/widgets/kernel/qgesturemanager_p.h +++ b/src/widgets/kernel/qgesturemanager_p.h @@ -21,6 +21,8 @@ #include "private/qwidget_p.h" #include "qgesturerecognizer.h" +#include + #ifndef QT_NO_GESTURES #include diff --git a/src/widgets/kernel/qstackedlayout.cpp b/src/widgets/kernel/qstackedlayout.cpp index aca470fe1c..04eacf1d41 100644 --- a/src/widgets/kernel/qstackedlayout.cpp +++ b/src/widgets/kernel/qstackedlayout.cpp @@ -8,6 +8,8 @@ #include "private/qwidget_p.h" #include "private/qlayoutengine_p.h" +#include + #include QT_BEGIN_NAMESPACE diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h index d2fe4054b8..926ec37b2d 100644 --- a/src/widgets/kernel/qwidget_p.h +++ b/src/widgets/kernel/qwidget_p.h @@ -42,6 +42,8 @@ #include #include +#include + #include #include diff --git a/src/widgets/kernel/qwidgetaction_p.h b/src/widgets/kernel/qwidgetaction_p.h index bd156241c6..415ac7c9f8 100644 --- a/src/widgets/kernel/qwidgetaction_p.h +++ b/src/widgets/kernel/qwidgetaction_p.h @@ -18,6 +18,8 @@ #include #include "private/qaction_widgets_p.h" +#include + QT_REQUIRE_CONFIG(action); QT_BEGIN_NAMESPACE diff --git a/src/widgets/kernel/qwidgetwindow_p.h b/src/widgets/kernel/qwidgetwindow_p.h index 0eee3cd900..0ee6b71a79 100644 --- a/src/widgets/kernel/qwidgetwindow_p.h +++ b/src/widgets/kernel/qwidgetwindow_p.h @@ -22,6 +22,8 @@ #include #include +#include + QT_BEGIN_NAMESPACE diff --git a/src/widgets/kernel/qwindowcontainer.cpp b/src/widgets/kernel/qwindowcontainer.cpp index 072a0bc5fa..14286406dc 100644 --- a/src/widgets/kernel/qwindowcontainer.cpp +++ b/src/widgets/kernel/qwindowcontainer.cpp @@ -14,6 +14,8 @@ #include #include +#include + QT_BEGIN_NAMESPACE using namespace Qt::StringLiterals; diff --git a/src/widgets/styles/qproxystyle_p.h b/src/widgets/styles/qproxystyle_p.h index 1b9466bb17..6b686023a5 100644 --- a/src/widgets/styles/qproxystyle_p.h +++ b/src/widgets/styles/qproxystyle_p.h @@ -20,6 +20,8 @@ #include "qcommonstyle_p.h" #include "qproxystyle.h" +#include + #ifndef QT_NO_STYLE_PROXY QT_BEGIN_NAMESPACE diff --git a/src/widgets/util/qcompleter_p.h b/src/widgets/util/qcompleter_p.h index b74de04031..a88996f180 100644 --- a/src/widgets/util/qcompleter_p.h +++ b/src/widgets/util/qcompleter_p.h @@ -25,7 +25,9 @@ #include "qcompleter.h" #include "qstyleditemdelegate.h" #include "QtGui/qpainter.h" + #include "private/qabstractproxymodel_p.h" +#include QT_REQUIRE_CONFIG(completer); diff --git a/src/widgets/util/qflickgesture_p.h b/src/widgets/util/qflickgesture_p.h index b1ae770753..e8306b77e8 100644 --- a/src/widgets/util/qflickgesture_p.h +++ b/src/widgets/util/qflickgesture_p.h @@ -20,6 +20,8 @@ #include "qgesturerecognizer.h" #include "private/qgesture_p.h" #include "qscroller.h" + +#include #include "qscopedpointer.h" #ifndef QT_NO_GESTURES diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index 3b40ad5285..3a5fbe1b90 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -21,6 +21,8 @@ #endif #include +#include + #include QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 10aea1da3c..f988bc7a19 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -26,6 +26,7 @@ # include #endif +#include //#define QABSTRACTSPINBOX_QSBDEBUG #ifdef QABSTRACTSPINBOX_QSBDEBUG diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index a9086ec4dc..b7a084364b 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -50,6 +50,8 @@ #endif #include +#include + QT_BEGIN_NAMESPACE using namespace Qt::StringLiterals; diff --git a/src/widgets/widgets/qdatetimeedit_p.h b/src/widgets/widgets/qdatetimeedit_p.h index cfabf65dda..21be760fd0 100644 --- a/src/widgets/widgets/qdatetimeedit_p.h +++ b/src/widgets/widgets/qdatetimeedit_p.h @@ -28,6 +28,7 @@ #include "private/qdatetimeparser_p.h" #include "qdebug.h" +#include QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qdialogbuttonbox.cpp b/src/widgets/widgets/qdialogbuttonbox.cpp index c35f8c8edc..612b283825 100644 --- a/src/widgets/widgets/qdialogbuttonbox.cpp +++ b/src/widgets/widgets/qdialogbuttonbox.cpp @@ -16,6 +16,8 @@ #include "qdialogbuttonbox.h" #include "qdialogbuttonbox_p.h" +#include + QT_BEGIN_NAMESPACE /*! diff --git a/src/widgets/widgets/qgroupbox.cpp b/src/widgets/widgets/qgroupbox.cpp index 8fd90f8b77..0b7cb9f588 100644 --- a/src/widgets/widgets/qgroupbox.cpp +++ b/src/widgets/widgets/qgroupbox.cpp @@ -22,6 +22,7 @@ #include #include "qdebug.h" +#include QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qlabel_p.h b/src/widgets/widgets/qlabel_p.h index 4718a07614..2a3dcdaa2f 100644 --- a/src/widgets/widgets/qlabel_p.h +++ b/src/widgets/widgets/qlabel_p.h @@ -33,6 +33,8 @@ #include "qmenu.h" #endif +#include + #include QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index f09c9e82f4..e565910319 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -37,7 +37,9 @@ #if QT_CONFIG(toolbar) #include "qtoolbararealayout_p.h" #endif + #include +#include QT_REQUIRE_CONFIG(mainwindow); diff --git a/src/widgets/widgets/qmdiarea_p.h b/src/widgets/widgets/qmdiarea_p.h index 2e66a31fbc..e57b9772ca 100644 --- a/src/widgets/widgets/qmdiarea_p.h +++ b/src/widgets/widgets/qmdiarea_p.h @@ -29,6 +29,8 @@ QT_REQUIRE_CONFIG(mdiarea); #include #include +#include + QT_BEGIN_NAMESPACE namespace QMdi { diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index 0d849e5eed..a009262128 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -29,6 +29,8 @@ #include +#include + #include QT_REQUIRE_CONFIG(menu); diff --git a/src/widgets/widgets/qmenubar_p.h b/src/widgets/widgets/qmenubar_p.h index ee524c3acb..549a4c7a1f 100644 --- a/src/widgets/widgets/qmenubar_p.h +++ b/src/widgets/widgets/qmenubar_p.h @@ -20,6 +20,8 @@ #include // Mac needs what in this file! #include +#include + QT_REQUIRE_CONFIG(menubar); QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qplaintextedit_p.h b/src/widgets/widgets/qplaintextedit_p.h index 6e4aa8133c..f788f1a647 100644 --- a/src/widgets/widgets/qplaintextedit_p.h +++ b/src/widgets/widgets/qplaintextedit_p.h @@ -32,6 +32,8 @@ #include "private/qwidgettextcontrol_p.h" +#include + QT_REQUIRE_CONFIG(textedit); QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qpushbutton_p.h b/src/widgets/widgets/qpushbutton_p.h index 8b39de5cea..0817589baf 100644 --- a/src/widgets/widgets/qpushbutton_p.h +++ b/src/widgets/widgets/qpushbutton_p.h @@ -7,6 +7,8 @@ #include #include "private/qabstractbutton_p.h" +#include + QT_REQUIRE_CONFIG(pushbutton); // diff --git a/src/widgets/widgets/qscrollarea_p.h b/src/widgets/widgets/qscrollarea_p.h index 8d066e9e17..a599fa8c36 100644 --- a/src/widgets/widgets/qscrollarea_p.h +++ b/src/widgets/widgets/qscrollarea_p.h @@ -20,6 +20,8 @@ #include "private/qabstractscrollarea_p.h" #include +#include + QT_REQUIRE_CONFIG(scrollarea); QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp index 28794bfdcc..789cffba99 100644 --- a/src/widgets/widgets/qscrollbar.cpp +++ b/src/widgets/widgets/qscrollbar.cpp @@ -12,7 +12,10 @@ #if QT_CONFIG(menu) #include "qmenu.h" #endif + #include +#include + #if QT_CONFIG(accessibility) #include "qaccessible.h" diff --git a/src/widgets/widgets/qsizegrip.cpp b/src/widgets/widgets/qsizegrip.cpp index 8ffcb0081b..8d23784f39 100644 --- a/src/widgets/widgets/qsizegrip.cpp +++ b/src/widgets/widgets/qsizegrip.cpp @@ -18,6 +18,8 @@ #include #include +#include + QT_BEGIN_NAMESPACE static QWidget *qt_sizegrip_topLevelWidget(QWidget* w) diff --git a/src/widgets/widgets/qsplitter_p.h b/src/widgets/widgets/qsplitter_p.h index 9fbd3ea520..5d5723a957 100644 --- a/src/widgets/widgets/qsplitter_p.h +++ b/src/widgets/widgets/qsplitter_p.h @@ -18,6 +18,8 @@ #include #include "private/qframe_p.h" +#include + QT_REQUIRE_CONFIG(splitter); QT_BEGIN_NAMESPACE -- cgit v1.2.3