diff options
Diffstat (limited to 'src')
75 files changed, 226 insertions, 99 deletions
diff --git a/src/corelib/doc/src/cpp20-overview.qdoc b/src/corelib/doc/src/cpp20-overview.qdoc index ed48e10f94a..1231394c161 100644 --- a/src/corelib/doc/src/cpp20-overview.qdoc +++ b/src/corelib/doc/src/cpp20-overview.qdoc @@ -12,6 +12,16 @@ This page gives a brief overview of C++20 features available in Qt. + \section1 WebEngine and Module-Specific Requirements + + While Qt 6 only requires a C++17-compatible compiler in general, + the \l{Qt WebEngine} module requires a C++20-compatible compiler + due to its dependencies (such as Chromium). + + If you are building Qt WebEngine, ensure that your compiler fully supports C++20. + + See \l{qtwebengine-platform-notes.html}{Qt WebEngine Platform Notes} for detailed requirements. + \section1 Support for \c{std::chrono} Various classes related to date and time have support for \l diff --git a/src/corelib/itemmodels/qrangemodel.cpp b/src/corelib/itemmodels/qrangemodel.cpp index 51043eb0e24..8ced35a4ae0 100644 --- a/src/corelib/itemmodels/qrangemodel.cpp +++ b/src/corelib/itemmodels/qrangemodel.cpp @@ -5,8 +5,48 @@ #include "qrangemodel.h" #include <QtCore/qsize.h> +#include <QtCore/private/qabstractitemmodel_p.h> + QT_BEGIN_NAMESPACE +class QRangeModelPrivate : QAbstractItemModelPrivate +{ + Q_DECLARE_PUBLIC(QRangeModel) + + struct Deleter { void operator()(QRangeModelImplBase *that) { that->destroy(); } }; + +public: + explicit QRangeModelPrivate(std::unique_ptr<QRangeModelImplBase, Deleter> impl) + : impl(std::move(impl)) + {} + + template <typename Ret, typename ...Args> + Ret call(QRangeModelImplBase::ConstOp op, const Args &...args) const + { + Ret ret = {}; + const auto tuple = std::tie(args...); + impl->callConst_fn(op, impl.get(), &ret, &tuple); + return ret; + } + + template <typename Ret, typename ...Args> + Ret call(QRangeModelImplBase::Op op, const Args &...args) + { + Ret ret = {}; + const auto tuple = std::tie(args...); + impl->call_fn(op, impl.get(), &ret, &tuple); + return ret; + } + +private: + std::unique_ptr<QRangeModelImplBase, Deleter> impl; +}; + +QRangeModel::QRangeModel(QRangeModelImplBase *impl, QObject *parent) + : QAbstractItemModel(*new QRangeModelPrivate({impl, {}}), parent) +{ +} + /*! \class QRangeModel \inmodule QtCore @@ -503,7 +543,8 @@ QRangeModel::~QRangeModel() = default; */ QModelIndex QRangeModel::index(int row, int column, const QModelIndex &parent) const { - return impl->callConst<QModelIndex>(QRangeModelImplBase::Index, row, column, parent); + Q_D(const QRangeModel); + return d->call<QModelIndex>(QRangeModelImplBase::Index, row, column, parent); } /*! @@ -520,7 +561,8 @@ QModelIndex QRangeModel::index(int row, int column, const QModelIndex &parent) c */ QModelIndex QRangeModel::parent(const QModelIndex &child) const { - return impl->callConst<QModelIndex>(QRangeModelImplBase::Parent, child); + Q_D(const QRangeModel); + return d->call<QModelIndex>(QRangeModelImplBase::Parent, child); } /*! @@ -536,7 +578,8 @@ QModelIndex QRangeModel::parent(const QModelIndex &child) const */ QModelIndex QRangeModel::sibling(int row, int column, const QModelIndex &index) const { - return impl->callConst<QModelIndex>(QRangeModelImplBase::Sibling, row, column, index); + Q_D(const QRangeModel); + return d->call<QModelIndex>(QRangeModelImplBase::Sibling, row, column, index); } /*! @@ -554,7 +597,8 @@ QModelIndex QRangeModel::sibling(int row, int column, const QModelIndex &index) */ int QRangeModel::rowCount(const QModelIndex &parent) const { - return impl->callConst<int>(QRangeModelImplBase::RowCount, parent); + Q_D(const QRangeModel); + return d->call<int>(QRangeModelImplBase::RowCount, parent); } /*! @@ -572,7 +616,8 @@ int QRangeModel::rowCount(const QModelIndex &parent) const */ int QRangeModel::columnCount(const QModelIndex &parent) const { - return impl->callConst<int>(QRangeModelImplBase::ColumnCount, parent); + Q_D(const QRangeModel); + return d->call<int>(QRangeModelImplBase::ColumnCount, parent); } /*! @@ -589,7 +634,8 @@ int QRangeModel::columnCount(const QModelIndex &parent) const */ Qt::ItemFlags QRangeModel::flags(const QModelIndex &index) const { - return impl->callConst<Qt::ItemFlags>(QRangeModelImplBase::Flags, index); + Q_D(const QRangeModel); + return d->call<Qt::ItemFlags>(QRangeModelImplBase::Flags, index); } /*! @@ -606,8 +652,8 @@ Qt::ItemFlags QRangeModel::flags(const QModelIndex &index) const */ QVariant QRangeModel::headerData(int section, Qt::Orientation orientation, int role) const { - return impl->callConst<QVariant>(QRangeModelImplBase::HeaderData, - section, orientation, role); + Q_D(const QRangeModel); + return d->call<QVariant>(QRangeModelImplBase::HeaderData, section, orientation, role); } /*! @@ -629,7 +675,8 @@ QVariant QRangeModel::headerData(int section, Qt::Orientation orientation, int r */ QVariant QRangeModel::data(const QModelIndex &index, int role) const { - return impl->callConst<QVariant>(QRangeModelImplBase::Data, index, role); + Q_D(const QRangeModel); + return d->call<QVariant>(QRangeModelImplBase::Data, index, role); } /*! @@ -654,7 +701,8 @@ QVariant QRangeModel::data(const QModelIndex &index, int role) const */ bool QRangeModel::setData(const QModelIndex &index, const QVariant &data, int role) { - return impl->call<bool>(QRangeModelImplBase::SetData, index, data, role); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::SetData, index, data, role); } /*! @@ -677,7 +725,8 @@ bool QRangeModel::setData(const QModelIndex &index, const QVariant &data, int ro */ QMap<int, QVariant> QRangeModel::itemData(const QModelIndex &index) const { - return impl->callConst<QMap<int, QVariant>>(QRangeModelImplBase::ItemData, index); + Q_D(const QRangeModel); + return d->call<QMap<int, QVariant>>(QRangeModelImplBase::ItemData, index); } /*! @@ -708,7 +757,8 @@ QMap<int, QVariant> QRangeModel::itemData(const QModelIndex &index) const */ bool QRangeModel::setItemData(const QModelIndex &index, const QMap<int, QVariant> &data) { - return impl->call<bool>(QRangeModelImplBase::SetItemData, index, data); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::SetItemData, index, data); } /*! @@ -721,7 +771,8 @@ bool QRangeModel::setItemData(const QModelIndex &index, const QMap<int, QVariant */ bool QRangeModel::clearItemData(const QModelIndex &index) { - return impl->call<bool>(QRangeModelImplBase::ClearItemData, index); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::ClearItemData, index); } /* @@ -746,7 +797,8 @@ bool QRangeModel::clearItemData(const QModelIndex &index) */ bool QRangeModel::insertColumns(int column, int count, const QModelIndex &parent) { - return impl->call<bool>(QRangeModelImplBase::InsertColumns, column, count, parent); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::InsertColumns, column, count, parent); } /*! @@ -760,7 +812,8 @@ bool QRangeModel::insertColumns(int column, int count, const QModelIndex &parent */ bool QRangeModel::removeColumns(int column, int count, const QModelIndex &parent) { - return impl->call<bool>(QRangeModelImplBase::RemoveColumns, column, count, parent); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::RemoveColumns, column, count, parent); } /*! @@ -775,9 +828,10 @@ bool QRangeModel::removeColumns(int column, int count, const QModelIndex &parent bool QRangeModel::moveColumns(const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationColumn) { - return impl->call<bool>(QRangeModelImplBase::MoveColumns, - sourceParent, sourceColumn, count, - destinationParent, destinationColumn); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::MoveColumns, + sourceParent, sourceColumn, count, + destinationParent, destinationColumn); } /* @@ -804,7 +858,8 @@ bool QRangeModel::moveColumns(const QModelIndex &sourceParent, int sourceColumn, */ bool QRangeModel::insertRows(int row, int count, const QModelIndex &parent) { - return impl->call<bool>(QRangeModelImplBase::InsertRows, row, count, parent); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::InsertRows, row, count, parent); } /*! @@ -817,7 +872,8 @@ bool QRangeModel::insertRows(int row, int count, const QModelIndex &parent) */ bool QRangeModel::removeRows(int row, int count, const QModelIndex &parent) { - return impl->call<bool>(QRangeModelImplBase::RemoveRows, row, count, parent); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::RemoveRows, row, count, parent); } /*! @@ -832,9 +888,10 @@ bool QRangeModel::removeRows(int row, int count, const QModelIndex &parent) bool QRangeModel::moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationRow) { - return impl->call<bool>(QRangeModelImplBase::MoveRows, - sourceParent, sourceRow, count, - destinationParent, destinationRow); + Q_D(QRangeModel); + return d->call<bool>(QRangeModelImplBase::MoveRows, + sourceParent, sourceRow, count, + destinationParent, destinationRow); } /*! diff --git a/src/corelib/itemmodels/qrangemodel.h b/src/corelib/itemmodels/qrangemodel.h index 328966f26fd..0d9add5def3 100644 --- a/src/corelib/itemmodels/qrangemodel.h +++ b/src/corelib/itemmodels/qrangemodel.h @@ -9,6 +9,8 @@ QT_BEGIN_NAMESPACE +class QRangeModelPrivate; + class Q_CORE_EXPORT QRangeModel : public QAbstractItemModel { Q_OBJECT @@ -103,10 +105,10 @@ protected: private: Q_DISABLE_COPY_MOVE(QRangeModel) + Q_DECLARE_PRIVATE(QRangeModel) + explicit QRangeModel(QRangeModelImplBase *impl, QObject *parent); friend class QRangeModelImplBase; - struct Deleter { void operator()(QRangeModelImplBase *that) { that->destroy(); } }; - std::unique_ptr<QRangeModelImplBase, Deleter> impl; }; // implementation of forwarders @@ -193,21 +195,21 @@ const QAbstractItemModel &QRangeModelImplBase::itemModel() const template <typename Range, QRangeModelDetails::if_table_range<Range>> QRangeModel::QRangeModel(Range &&range, QObject *parent) - : QAbstractItemModel(parent) - , impl(new QGenericTableItemModelImpl<Range>(std::forward<Range>(range), this)) + : QRangeModel(new QGenericTableItemModelImpl<Range>(std::forward<Range>(range), this), parent) {} template <typename Range, QRangeModelDetails::if_tree_range<Range>> QRangeModel::QRangeModel(Range &&range, QObject *parent) - : QRangeModel(std::forward<Range>(range), - QRangeModelDetails::DefaultTreeProtocol<Range>{}, parent) + : QRangeModel(std::forward<Range>(range), QRangeModelDetails::DefaultTreeProtocol<Range>{}, + parent) {} template <typename Range, typename Protocol, QRangeModelDetails::if_tree_range<Range, Protocol>> QRangeModel::QRangeModel(Range &&range, Protocol &&protocol, QObject *parent) - : QAbstractItemModel(parent) - , impl(new QGenericTreeItemModelImpl<Range, Protocol>(std::forward<Range>(range), - std::forward<Protocol>(protocol), this)) + : QRangeModel(new QGenericTreeItemModelImpl<Range, Protocol>(std::forward<Range>(range), + std::forward<Protocol>(protocol), + this), + parent) {} QT_END_NAMESPACE diff --git a/src/corelib/itemmodels/qrangemodel_impl.h b/src/corelib/itemmodels/qrangemodel_impl.h index 38378fdcc64..34c9ba235a6 100644 --- a/src/corelib/itemmodels/qrangemodel_impl.h +++ b/src/corelib/itemmodels/qrangemodel_impl.h @@ -604,7 +604,7 @@ public: void destroy() { - call<bool>(Destroy); + call_fn(Destroy, this, nullptr, nullptr); } private: @@ -615,6 +615,7 @@ private: using CallConstFN = decltype(callConst); using CallTupleFN = decltype(call); + friend class QRangeModelPrivate; CallConstFN *callConst_fn; CallTupleFN *call_fn; QRangeModel *m_rangeModel; @@ -647,25 +648,6 @@ protected: inline void endMoveRows(); inline QAbstractItemModel &itemModel(); inline const QAbstractItemModel &itemModel() const; - -public: - template <typename Ret, typename ...Args> - Ret callConst(ConstOp op, const Args &...args) const - { - Ret ret = {}; - const auto tuple = std::tie(args...); - callConst_fn(op, this, &ret, &tuple); - return ret; - } - - template <typename Ret, typename ...Args> - Ret call(Op op, const Args &...args) - { - Ret ret = {}; - const auto tuple = std::tie(args...); - call_fn(op, this, &ret, &tuple); - return ret; - } }; template <typename Structure, typename Range, @@ -1357,7 +1339,7 @@ public: bool removeRows(int row, int count, const QModelIndex &parent = {}) { - if constexpr (Structure::canRemoveRows()) { + if constexpr (canRemoveRows()) { const int prevRowCount = that().rowCount(parent); if (row < 0 || row + count > prevRowCount) return false; @@ -1476,10 +1458,15 @@ protected: // row elements. return false; } else { - return Structure::canInsertRows(); + return Structure::canInsertRowsImpl(); } } + static constexpr bool canRemoveRows() + { + return Structure::canRemoveRowsImpl(); + } + template <typename F> bool writeAt(const QModelIndex &index, F&& writer) { @@ -1805,7 +1792,7 @@ protected: return Qt::ItemIsEnabled | Qt::ItemIsSelectable; } - static constexpr bool canInsertRows() + static constexpr bool canInsertRowsImpl() { // We must not insert rows if we cannot adjust the parents of the // children of the following rows. We don't have to do that if the @@ -1814,7 +1801,7 @@ protected: && Base::dynamicRows() && range_features::has_insert; } - static constexpr bool canRemoveRows() + static constexpr bool canRemoveRowsImpl() { // We must not remove rows if we cannot adjust the parents of the // children of the following rows. We don't have to do that if the @@ -2090,12 +2077,12 @@ protected: return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemNeverHasChildren; } - static constexpr bool canInsertRows() + static constexpr bool canInsertRowsImpl() { return Base::dynamicRows() && range_features::has_insert; } - static constexpr bool canRemoveRows() + static constexpr bool canRemoveRowsImpl() { return Base::dynamicRows() && range_features::has_erase; } diff --git a/src/corelib/serialization/qtextstream.cpp b/src/corelib/serialization/qtextstream.cpp index e4dc98af98b..8226be3d219 100644 --- a/src/corelib/serialization/qtextstream.cpp +++ b/src/corelib/serialization/qtextstream.cpp @@ -833,29 +833,28 @@ QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(qsizetype len) con /*! \internal */ -void QTextStreamPrivate::putString(const QChar *data, qsizetype len, bool number) +void QTextStreamPrivate::putString(QStringView data, bool number) { - if (Q_UNLIKELY(params.fieldWidth > len)) { + if (Q_UNLIKELY(params.fieldWidth > data.size())) { // handle padding: - const PaddingResult pad = padding(len); + const PaddingResult pad = padding(data.size()); if (params.fieldAlignment == QTextStream::AlignAccountingStyle && number) { - const QChar sign = len > 0 ? data[0] : QChar(); + const QChar sign = data.size() > 0 ? data.front() : QChar(); if (sign == locale.negativeSign() || sign == locale.positiveSign()) { // write the sign before the padding, then skip it later write(sign); - ++data; - --len; + data = data.sliced(1); } } writePadding(pad.left); - write(data, len); + write(data); writePadding(pad.right); } else { - write(data, len); + write(data); } } diff --git a/src/corelib/serialization/qtextstream_p.h b/src/corelib/serialization/qtextstream_p.h index bf3ce7b2ef7..6d6bfcd8365 100644 --- a/src/corelib/serialization/qtextstream_p.h +++ b/src/corelib/serialization/qtextstream_p.h @@ -149,11 +149,9 @@ public: void write(const QChar *data, qsizetype len); void write(QLatin1StringView data); void writePadding(qsizetype len); - inline void putString(QStringView string, bool number = false) - { - putString(string.constData(), string.size(), number); - } - void putString(const QChar *data, qsizetype len, bool number = false); + void putString(QStringView string, bool number = false); + void putString(const QChar *data, qsizetype len, bool number = false) + { putString(QStringView{data, len}, number); } void putString(QLatin1StringView data, bool number = false); void putString(QUtf8StringView data, bool number = false); inline void putChar(QChar ch); diff --git a/src/dbus/dbus_minimal_p.h b/src/dbus/dbus_minimal_p.h index 36e7fab55d9..a87c07defcb 100644 --- a/src/dbus/dbus_minimal_p.h +++ b/src/dbus/dbus_minimal_p.h @@ -2,6 +2,7 @@ // Copyright (C) 2002, 2003, 2004, 2005 Red Hat, Inc. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: AFL-2.1 OR GPL-2.0-or-later +// Qt-Security score:significant reason:default #ifndef DBUS_MINIMAL_P_H #define DBUS_MINIMAL_P_H diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h index 78b7e049ef3..a3e3b202c12 100644 --- a/src/dbus/qdbus_symbols_p.h +++ b/src/dbus/qdbus_symbols_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbusabstractadaptor.cpp b/src/dbus/qdbusabstractadaptor.cpp index df83cc6f462..b9c87797846 100644 --- a/src/dbus/qdbusabstractadaptor.cpp +++ b/src/dbus/qdbusabstractadaptor.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusabstractadaptor.h" #include "qdbusabstractadaptor_p.h" diff --git a/src/dbus/qdbusabstractadaptor.h b/src/dbus/qdbusabstractadaptor.h index f143056b43a..649dc4622d0 100644 --- a/src/dbus/qdbusabstractadaptor.h +++ b/src/dbus/qdbusabstractadaptor.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSABSTRACTADAPTOR_H #define QDBUSABSTRACTADAPTOR_H diff --git a/src/dbus/qdbusabstractadaptor_p.h b/src/dbus/qdbusabstractadaptor_p.h index c047af18211..51dc727b2fb 100644 --- a/src/dbus/qdbusabstractadaptor_p.h +++ b/src/dbus/qdbusabstractadaptor_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbusabstractinterface.cpp b/src/dbus/qdbusabstractinterface.cpp index 0c6dbf1b3b7..4e46fc8f743 100644 --- a/src/dbus/qdbusabstractinterface.cpp +++ b/src/dbus/qdbusabstractinterface.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusabstractinterface.h" #include "qdbusabstractinterface_p.h" diff --git a/src/dbus/qdbusabstractinterface.h b/src/dbus/qdbusabstractinterface.h index 8d36fb37281..2bdbdc419db 100644 --- a/src/dbus/qdbusabstractinterface.h +++ b/src/dbus/qdbusabstractinterface.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSABSTRACTINTERFACE_H #define QDBUSABSTRACTINTERFACE_H diff --git a/src/dbus/qdbusabstractinterface_p.h b/src/dbus/qdbusabstractinterface_p.h index 1bd5e96f2d4..aca8ed23253 100644 --- a/src/dbus/qdbusabstractinterface_p.h +++ b/src/dbus/qdbusabstractinterface_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbusargument.h b/src/dbus/qdbusargument.h index f04cbc1ed43..b79f675a9e4 100644 --- a/src/dbus/qdbusargument.h +++ b/src/dbus/qdbusargument.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSARGUMENT_H #define QDBUSARGUMENT_H @@ -119,6 +120,27 @@ protected: QDBusArgument(QDBusArgumentPrivate *d); friend class QDBusArgumentPrivate; mutable QDBusArgumentPrivate *d; + +private: + template <typename... T> + friend QDBusArgument &operator<<(QDBusArgument &argument, const std::tuple<T...> &tuple) + { + static_assert(sizeof...(T) != 0, "D-Bus doesn't allow empty structs"); + argument.beginStructure(); + std::apply([&argument](const auto &...elements) { (argument << ... << elements); }, tuple); + argument.endStructure(); + return argument; + } + + template <typename... T> + friend const QDBusArgument &operator>>(const QDBusArgument &argument, std::tuple<T...> &tuple) + { + static_assert(sizeof...(T) != 0, "D-Bus doesn't allow empty structs"); + argument.beginStructure(); + std::apply([&argument](auto &...elements) { (argument >> ... >> elements); }, tuple); + argument.endStructure(); + return argument; + } }; Q_DECLARE_SHARED(QDBusArgument) @@ -323,26 +345,6 @@ inline const QDBusArgument &operator>>(const QDBusArgument &arg, std::pair<T1, T return arg; } -template <typename... T> -QDBusArgument &operator<<(QDBusArgument &argument, const std::tuple<T...> &tuple) -{ - static_assert(sizeof...(T) != 0, "D-Bus doesn't allow empty structs"); - argument.beginStructure(); - std::apply([&argument](const auto &...elements) { (argument << ... << elements); }, tuple); - argument.endStructure(); - return argument; -} - -template <typename... T> -const QDBusArgument &operator>>(const QDBusArgument &argument, std::tuple<T...> &tuple) -{ - static_assert(sizeof...(T) != 0, "D-Bus doesn't allow empty structs"); - argument.beginStructure(); - std::apply([&argument](auto &...elements) { (argument >> ... >> elements); }, tuple); - argument.endStructure(); - return argument; -} - QT_END_NAMESPACE #endif // QT_NO_DBUS diff --git a/src/dbus/qdbusargument_p.h b/src/dbus/qdbusargument_p.h index d9a73827424..3d007ea2c7c 100644 --- a/src/dbus/qdbusargument_p.h +++ b/src/dbus/qdbusargument_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSARGUMENT_P_H #define QDBUSARGUMENT_P_H diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index 08cec30afa3..aa2ba432fa5 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusconnection.h" #include "qdbusconnection_p.h" diff --git a/src/dbus/qdbusconnection.h b/src/dbus/qdbusconnection.h index be8acdc4ea5..45d3850faed 100644 --- a/src/dbus/qdbusconnection.h +++ b/src/dbus/qdbusconnection.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSCONNECTION_H #define QDBUSCONNECTION_H diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h index 5cb175c1cdc..b553cd62a03 100644 --- a/src/dbus/qdbusconnection_p.h +++ b/src/dbus/qdbusconnection_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbusconnectioninterface.cpp b/src/dbus/qdbusconnectioninterface.cpp index f7dbbb01563..36636b355b0 100644 --- a/src/dbus/qdbusconnectioninterface.cpp +++ b/src/dbus/qdbusconnectioninterface.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusconnectioninterface.h" diff --git a/src/dbus/qdbusconnectioninterface.h b/src/dbus/qdbusconnectioninterface.h index e728539a385..60742ea4043 100644 --- a/src/dbus/qdbusconnectioninterface.h +++ b/src/dbus/qdbusconnectioninterface.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSCONNECTIONINTERFACE_H #define QDBUSCONNECTIONINTERFACE_H diff --git a/src/dbus/qdbusconnectionmanager.cpp b/src/dbus/qdbusconnectionmanager.cpp index d41178b5c30..ef96231e1cc 100644 --- a/src/dbus/qdbusconnectionmanager.cpp +++ b/src/dbus/qdbusconnectionmanager.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusconnectionmanager_p.h" diff --git a/src/dbus/qdbusconnectionmanager_p.h b/src/dbus/qdbusconnectionmanager_p.h index 644c3c8fb1c..1ef048e5d72 100644 --- a/src/dbus/qdbusconnectionmanager_p.h +++ b/src/dbus/qdbusconnectionmanager_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbuscontext.cpp b/src/dbus/qdbuscontext.cpp index b8cb1dc8b10..f788b398186 100644 --- a/src/dbus/qdbuscontext.cpp +++ b/src/dbus/qdbuscontext.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusmessage.h" #include "qdbusconnection.h" diff --git a/src/dbus/qdbuscontext.h b/src/dbus/qdbuscontext.h index 02620449e18..47ced171171 100644 --- a/src/dbus/qdbuscontext.h +++ b/src/dbus/qdbuscontext.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSCONTEXT_H #define QDBUSCONTEXT_H diff --git a/src/dbus/qdbuscontext_p.h b/src/dbus/qdbuscontext_p.h index 1a544b8e44e..edd7aa068f0 100644 --- a/src/dbus/qdbuscontext_p.h +++ b/src/dbus/qdbuscontext_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbuserror.cpp b/src/dbus/qdbuserror.cpp index 0a5ba30d3a3..c168d8d471c 100644 --- a/src/dbus/qdbuserror.cpp +++ b/src/dbus/qdbuserror.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbuserror.h" diff --git a/src/dbus/qdbuserror.h b/src/dbus/qdbuserror.h index 292f967acbe..dcb0c6666a0 100644 --- a/src/dbus/qdbuserror.h +++ b/src/dbus/qdbuserror.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSERROR_H #define QDBUSERROR_H diff --git a/src/dbus/qdbusextratypes.cpp b/src/dbus/qdbusextratypes.cpp index 042014ceab0..c27c1cbd5db 100644 --- a/src/dbus/qdbusextratypes.cpp +++ b/src/dbus/qdbusextratypes.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusextratypes.h" #include "qdbusutil_p.h" diff --git a/src/dbus/qdbusextratypes.h b/src/dbus/qdbusextratypes.h index 3b44bfc2175..3bfd38486a2 100644 --- a/src/dbus/qdbusextratypes.h +++ b/src/dbus/qdbusextratypes.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSEXTRATYPES_H #define QDBUSEXTRATYPES_H diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 4c9736dea6d..bfd3a092d39 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusintegrator_p.h" diff --git a/src/dbus/qdbusintegrator_p.h b/src/dbus/qdbusintegrator_p.h index ac9adf02100..f6486d87256 100644 --- a/src/dbus/qdbusintegrator_p.h +++ b/src/dbus/qdbusintegrator_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbusinterface.cpp b/src/dbus/qdbusinterface.cpp index d4da36b35c4..7481229dccf 100644 --- a/src/dbus/qdbusinterface.cpp +++ b/src/dbus/qdbusinterface.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusinterface.h" #include "qdbusinterface_p.h" diff --git a/src/dbus/qdbusinterface.h b/src/dbus/qdbusinterface.h index fc02463ac72..bff0336fd82 100644 --- a/src/dbus/qdbusinterface.h +++ b/src/dbus/qdbusinterface.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSINTERFACE_H #define QDBUSINTERFACE_H diff --git a/src/dbus/qdbusinterface_p.h b/src/dbus/qdbusinterface_p.h index caf24e589d4..63b7196527f 100644 --- a/src/dbus/qdbusinterface_p.h +++ b/src/dbus/qdbusinterface_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp index 721564ed3cd..a46bc8e6c87 100644 --- a/src/dbus/qdbusinternalfilters.cpp +++ b/src/dbus/qdbusinternalfilters.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusconnection_p.h" diff --git a/src/dbus/qdbusintrospection.cpp b/src/dbus/qdbusintrospection.cpp index 04b5ab77519..4f6c40743a5 100644 --- a/src/dbus/qdbusintrospection.cpp +++ b/src/dbus/qdbusintrospection.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusintrospection_p.h" #include "qdbusxmlparser_p.h" diff --git a/src/dbus/qdbusintrospection_p.h b/src/dbus/qdbusintrospection_p.h index 766cdffb621..3eccef8b7b0 100644 --- a/src/dbus/qdbusintrospection_p.h +++ b/src/dbus/qdbusintrospection_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSINTROSPECTION_P_H #define QDBUSINTROSPECTION_P_H diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp index b10266ac8b7..f0a056e3127 100644 --- a/src/dbus/qdbusmessage.cpp +++ b/src/dbus/qdbusmessage.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusmessage.h" #include "qdbusmessage_p.h" diff --git a/src/dbus/qdbusmessage.h b/src/dbus/qdbusmessage.h index 608b9779d22..5b631c2b847 100644 --- a/src/dbus/qdbusmessage.h +++ b/src/dbus/qdbusmessage.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSMESSAGE_H #define QDBUSMESSAGE_H diff --git a/src/dbus/qdbusmessage_p.h b/src/dbus/qdbusmessage_p.h index 88ba78025e7..07cdeda4034 100644 --- a/src/dbus/qdbusmessage_p.h +++ b/src/dbus/qdbusmessage_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSMESSAGE_P_H #define QDBUSMESSAGE_P_H diff --git a/src/dbus/qdbusmetaobject.cpp b/src/dbus/qdbusmetaobject.cpp index c3590dc51cd..149392f9c3c 100644 --- a/src/dbus/qdbusmetaobject.cpp +++ b/src/dbus/qdbusmetaobject.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusmetaobject_p.h" diff --git a/src/dbus/qdbusmetaobject_p.h b/src/dbus/qdbusmetaobject_p.h index 97d16d99d0e..473765a175c 100644 --- a/src/dbus/qdbusmetaobject_p.h +++ b/src/dbus/qdbusmetaobject_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSMETAOBJECT_P_H #define QDBUSMETAOBJECT_P_H diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp index 3ae7589480e..5a862528026 100644 --- a/src/dbus/qdbusmetatype.cpp +++ b/src/dbus/qdbusmetatype.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qdbusmetatype.h" #include "qdbusmetatype_p.h" diff --git a/src/dbus/qdbusmetatype.h b/src/dbus/qdbusmetatype.h index 3304a69e1ef..66b6b1b0456 100644 --- a/src/dbus/qdbusmetatype.h +++ b/src/dbus/qdbusmetatype.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSMETATYPE_H #define QDBUSMETATYPE_H diff --git a/src/dbus/qdbusmetatype_p.h b/src/dbus/qdbusmetatype_p.h index 86a59f587dd..b72c0c431e5 100644 --- a/src/dbus/qdbusmetatype_p.h +++ b/src/dbus/qdbusmetatype_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSMETATYPE_P_H #define QDBUSMETATYPE_P_H diff --git a/src/dbus/qdbusmisc.cpp b/src/dbus/qdbusmisc.cpp index 635258c86d2..bf18b00d1cc 100644 --- a/src/dbus/qdbusmisc.cpp +++ b/src/dbus/qdbusmisc.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include <string.h> diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp index cd222c9ffa5..c0b382ca114 100644 --- a/src/dbus/qdbuspendingcall.cpp +++ b/src/dbus/qdbuspendingcall.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbuspendingcall.h" #include "qdbuspendingcall_p.h" @@ -228,7 +229,7 @@ void QDBusPendingCallPrivate::waitForFinishedWithGui() /*! \fn QDBusPendingCall::QDBusPendingCall(QDBusPendingCall &&other) - \since 6.11 + \since 6.10 Moves \a other into this object. diff --git a/src/dbus/qdbuspendingcall.h b/src/dbus/qdbuspendingcall.h index 0db6667e5ec..1907fab78b9 100644 --- a/src/dbus/qdbuspendingcall.h +++ b/src/dbus/qdbuspendingcall.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSPENDINGCALL_H #define QDBUSPENDINGCALL_H diff --git a/src/dbus/qdbuspendingcall_p.h b/src/dbus/qdbuspendingcall_p.h index 2795cc3ecf8..407537c9bb0 100644 --- a/src/dbus/qdbuspendingcall_p.h +++ b/src/dbus/qdbuspendingcall_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default // // W A R N I N G diff --git a/src/dbus/qdbuspendingreply.cpp b/src/dbus/qdbuspendingreply.cpp index 7bb23aa3e36..b0fb2d75af5 100644 --- a/src/dbus/qdbuspendingreply.cpp +++ b/src/dbus/qdbuspendingreply.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbuspendingreply.h" #include "qdbuspendingcall_p.h" diff --git a/src/dbus/qdbuspendingreply.h b/src/dbus/qdbuspendingreply.h index 72e1bbdc313..7b76bcd1b7c 100644 --- a/src/dbus/qdbuspendingreply.h +++ b/src/dbus/qdbuspendingreply.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSPENDINGREPLY_H #define QDBUSPENDINGREPLY_H diff --git a/src/dbus/qdbusreply.cpp b/src/dbus/qdbusreply.cpp index 5b26250b10d..a90e7354ed2 100644 --- a/src/dbus/qdbusreply.cpp +++ b/src/dbus/qdbusreply.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusreply.h" #include "qdbusmetatype.h" diff --git a/src/dbus/qdbusreply.h b/src/dbus/qdbusreply.h index df488208c85..5dfb63f3b4b 100644 --- a/src/dbus/qdbusreply.h +++ b/src/dbus/qdbusreply.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSREPLY_H #define QDBUSREPLY_H diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp index e9131a14c4b..9e1063424a5 100644 --- a/src/dbus/qdbusserver.cpp +++ b/src/dbus/qdbusserver.cpp @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusserver.h" #include "qdbusconnection_p.h" diff --git a/src/dbus/qdbusserver.h b/src/dbus/qdbusserver.h index 34985cc0554..04b7930d412 100644 --- a/src/dbus/qdbusserver.h +++ b/src/dbus/qdbusserver.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSSERVER_H #define QDBUSSERVER_H diff --git a/src/dbus/qdbusservicewatcher.cpp b/src/dbus/qdbusservicewatcher.cpp index bf94f54f564..6b9675c19ec 100644 --- a/src/dbus/qdbusservicewatcher.cpp +++ b/src/dbus/qdbusservicewatcher.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusservicewatcher.h" #include "qdbusconnection.h" diff --git a/src/dbus/qdbusservicewatcher.h b/src/dbus/qdbusservicewatcher.h index 71c63084b18..d07ae0fe5d2 100644 --- a/src/dbus/qdbusservicewatcher.h +++ b/src/dbus/qdbusservicewatcher.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSSERVICEWATCHER_H #define QDBUSSERVICEWATCHER_H diff --git a/src/dbus/qdbusthreaddebug_p.h b/src/dbus/qdbusthreaddebug_p.h index bcbd1efb494..70fbf762d19 100644 --- a/src/dbus/qdbusthreaddebug_p.h +++ b/src/dbus/qdbusthreaddebug_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSTHREADDEBUG_P_H #define QDBUSTHREADDEBUG_P_H diff --git a/src/dbus/qdbusunixfiledescriptor.cpp b/src/dbus/qdbusunixfiledescriptor.cpp index 365f6cbc76c..bc38d142b95 100644 --- a/src/dbus/qdbusunixfiledescriptor.cpp +++ b/src/dbus/qdbusunixfiledescriptor.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusunixfiledescriptor.h" diff --git a/src/dbus/qdbusunixfiledescriptor.h b/src/dbus/qdbusunixfiledescriptor.h index cbcd8b53a95..c946ec1761b 100644 --- a/src/dbus/qdbusunixfiledescriptor.h +++ b/src/dbus/qdbusunixfiledescriptor.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSUNIXFILEDESCRIPTOR_H diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp index 84ce5ed78dc..9c1c7e8edf3 100644 --- a/src/dbus/qdbusutil.cpp +++ b/src/dbus/qdbusutil.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qdbusutil_p.h" diff --git a/src/dbus/qdbusutil_p.h b/src/dbus/qdbusutil_p.h index 3db93849682..580a2b92c96 100644 --- a/src/dbus/qdbusutil_p.h +++ b/src/dbus/qdbusutil_p.h @@ -1,6 +1,7 @@ // Copyright (C) 2016 The Qt Company Ltd. // Copyright (C) 2016 Intel Corporation. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser // // W A R N I N G diff --git a/src/dbus/qdbusvirtualobject.cpp b/src/dbus/qdbusvirtualobject.cpp index 2e5df125d25..878152ad32d 100644 --- a/src/dbus/qdbusvirtualobject.cpp +++ b/src/dbus/qdbusvirtualobject.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include "qdbusvirtualobject.h" diff --git a/src/dbus/qdbusvirtualobject.h b/src/dbus/qdbusvirtualobject.h index 573d731d201..451b0040069 100644 --- a/src/dbus/qdbusvirtualobject.h +++ b/src/dbus/qdbusvirtualobject.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSVIRTUALOBJECT_H #define QDBUSVIRTUALOBJECT_H diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp index 412ac180951..69d27a49f9f 100644 --- a/src/dbus/qdbusxmlgenerator.cpp +++ b/src/dbus/qdbusxmlgenerator.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #include <QtCore/qmetaobject.h> #include <QtCore/qstringlist.h> diff --git a/src/dbus/qdbusxmlparser.cpp b/src/dbus/qdbusxmlparser.cpp index c2e8df8be7e..b3e1b6b78b6 100644 --- a/src/dbus/qdbusxmlparser.cpp +++ b/src/dbus/qdbusxmlparser.cpp @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:critical reason:data-parser #include "qdbusxmlparser_p.h" #include "qdbusutil_p.h" diff --git a/src/dbus/qdbusxmlparser_p.h b/src/dbus/qdbusxmlparser_p.h index 0476ba36281..6cee2da76cc 100644 --- a/src/dbus/qdbusxmlparser_p.h +++ b/src/dbus/qdbusxmlparser_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QDBUSXMLPARSER_P_H #define QDBUSXMLPARSER_P_H diff --git a/src/dbus/qtdbusglobal.h b/src/dbus/qtdbusglobal.h index 9724c066f6a..07cfa16a258 100644 --- a/src/dbus/qtdbusglobal.h +++ b/src/dbus/qtdbusglobal.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QTDBUSGLOBAL_H #define QTDBUSGLOBAL_H diff --git a/src/dbus/qtdbusglobal_p.h b/src/dbus/qtdbusglobal_p.h index 9d315de75c8..6e748c20ae3 100644 --- a/src/dbus/qtdbusglobal_p.h +++ b/src/dbus/qtdbusglobal_p.h @@ -1,5 +1,6 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +// Qt-Security score:significant reason:default #ifndef QTDBUSGLOBAL_P_H #define QTDBUSGLOBAL_P_H diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp index 1703fa5b0fe..1e0f9295110 100644 --- a/src/gui/math3d/qmatrix4x4.cpp +++ b/src/gui/math3d/qmatrix4x4.cpp @@ -4,6 +4,8 @@ #include "qmatrix4x4.h" #include <QtCore/qmath.h> #include <QtCore/qvariant.h> + +#include <QtGui/qquaternion.h> #include <QtGui/qtransform.h> #include <cmath> diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h index 80ba62ca36f..2ba274d4517 100644 --- a/src/gui/math3d/qmatrix4x4.h +++ b/src/gui/math3d/qmatrix4x4.h @@ -7,7 +7,6 @@ #include <QtGui/qtguiglobal.h> #include <QtGui/qvector3d.h> #include <QtGui/qvector4d.h> -#include <QtGui/qquaternion.h> #include <QtGui/qgenericmatrix.h> #include <QtCore/qrect.h> @@ -15,6 +14,9 @@ class tst_QMatrixNxN; QT_BEGIN_NAMESPACE +#ifndef QT_NO_QUATERNION +class QQuaternion; +#endif #ifndef QT_NO_MATRIX4X4 diff --git a/src/network/access/qhttp2connection.cpp b/src/network/access/qhttp2connection.cpp index 6f8a318dae0..9b339a19a24 100644 --- a/src/network/access/qhttp2connection.cpp +++ b/src/network/access/qhttp2connection.cpp @@ -663,8 +663,10 @@ void QHttp2Stream::handleDATA(const Frame &inboundFrame) { QHttp2Connection *connection = getConnection(); - qCDebug(qHttp2ConnectionLog, "[%p] stream %u, received DATA frame with payload of %u bytes", - connection, m_streamID, inboundFrame.payloadSize()); + qCDebug(qHttp2ConnectionLog, + "[%p] stream %u, received DATA frame with payload of %u bytes, closing stream? %s", + connection, m_streamID, inboundFrame.payloadSize(), + inboundFrame.flags().testFlag(Http2::FrameFlag::END_STREAM) ? "yes" : "no"); // RFC 9113, 6.1: If a DATA frame is received whose stream is not in the "open" or "half-closed // (local)" state, the recipient MUST respond with a stream error (Section 5.4.2) of type @@ -1426,7 +1428,8 @@ void QHttp2Connection::handleHEADERS() Q_ASSERT(inboundFrame.type() == FrameType::HEADERS); const auto streamID = inboundFrame.streamID(); - qCDebug(qHttp2ConnectionLog, "[%p] Received HEADERS frame on stream %d", this, streamID); + qCDebug(qHttp2ConnectionLog, "[%p] Received HEADERS frame on stream %d, end stream? %s", this, + streamID, inboundFrame.flags().testFlag(Http2::FrameFlag::END_STREAM) ? "yes" : "no"); // RFC 9113, 6.2: If a HEADERS frame is received whose Stream Identifier field is 0x00, the // recipient MUST respond with a connection error. @@ -1849,6 +1852,10 @@ void QHttp2Connection::handleWINDOW_UPDATE() void QHttp2Connection::handleCONTINUATION() { Q_ASSERT(inboundFrame.type() == FrameType::CONTINUATION); + auto streamID = inboundFrame.streamID(); + qCDebug(qHttp2ConnectionLog, + "[%p] Received CONTINUATION frame on stream %d, end stream? %s", this, streamID, + inboundFrame.flags().testFlag(Http2::FrameFlag::END_STREAM) ? "yes" : "no"); if (continuedFrames.empty()) return connectionError(PROTOCOL_ERROR, "CONTINUATION without a preceding HEADERS or PUSH_PROMISE"); diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index 62269a21de1..84101b69e9f 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -2151,9 +2151,6 @@ void QWindows11Style::polish(QWidget* widget) widget->setWindowFlag(Qt::NoDropShadowWindowHint); widget->setAttribute(Qt::WA_RightToLeft, layoutDirection); widget->setAttribute(Qt::WA_WState_Created, wasCreated); - auto pal = widget->palette(); - pal.setColor(widget->backgroundRole(), Qt::transparent); - widget->setPalette(pal); if (!isScrollBar) { bool inGraphicsView = widget->graphicsProxyWidget() != nullptr; if (!inGraphicsView && comboBoxContainer && comboBoxContainer->parentWidget()) diff --git a/src/testlib/3rdparty/catch2/qt_attribution.json b/src/testlib/3rdparty/catch2/qt_attribution.json index 1e4f2c5297c..ad231efd426 100644 --- a/src/testlib/3rdparty/catch2/qt_attribution.json +++ b/src/testlib/3rdparty/catch2/qt_attribution.json @@ -5,6 +5,7 @@ "QDocModule": "qttestlib", "QtUsage": "Used for testing of the Qt Test module.", "Comment": { + "OldBranch": "Stick to its v2.x branch; no suitable file in v3", "UpstreamFile": "single_include/catch2/catch.hpp", "Generator": "scripts/generateSingleHeader.py", "General": "no relevant CPE found" |