diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-05-10 18:39:35 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-05-10 18:40:11 +0200 |
commit | acd0ddbca7c809bd883e4c06ec1e0ca7ca3b8125 (patch) | |
tree | 3496e3809458d66e794b1e3727c69df431176257 /dev-qt | |
parent | scons-utils.eclass: Revert EAPI 7 pending further changes (diff) | |
download | gentoo-acd0ddbca7c809bd883e4c06ec1e0ca7ca3b8125.tar.gz gentoo-acd0ddbca7c809bd883e4c06ec1e0ca7ca3b8125.tar.bz2 gentoo-acd0ddbca7c809bd883e4c06ec1e0ca7ca3b8125.zip |
dev-qt: Drop unused patches
Diffstat (limited to 'dev-qt')
-rw-r--r-- | dev-qt/qtcore/files/qtcore-5.7.1-qipm.patch | 152 | ||||
-rw-r--r-- | dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-1.patch | 252 | ||||
-rw-r--r-- | dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-2.patch | 195 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.7.1-qclipboard.patch | 39 | ||||
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.7.1-x32.patch | 34 | ||||
-rw-r--r-- | dev-qt/qtsql/files/qtsql-5.7.1-mariadb.patch | 56 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch | 13 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch | 51 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch | 33 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch | 23 | ||||
-rw-r--r-- | dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch | 144 |
11 files changed, 0 insertions, 992 deletions
diff --git a/dev-qt/qtcore/files/qtcore-5.7.1-qipm.patch b/dev-qt/qtcore/files/qtcore-5.7.1-qipm.patch deleted file mode 100644 index abea14588075..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.7.1-qipm.patch +++ /dev/null @@ -1,152 +0,0 @@ -From baad82d242a4d8c1af6c87faaa7f25584183fd53 Mon Sep 17 00:00:00 2001 -From: Stephen Kelly <steveire@gmail.com> -Date: Tue, 20 Dec 2016 00:44:12 +0000 -Subject: [PATCH] QIPM: Persist model indexes after emitting layoutChange, not - before - -Callers can persist a QModelIndex which was not persisted before in a -slot connected to the signal, and such a persisted index must be updated -in the course of the layoutChange. - -Store the indexes to persist after emitting the signal. - -Task-number: QTBUG-32981 -Change-Id: Ibee4c0d84817d72603a03fe5b22fdeefeac0695e -Reviewed-by: David Faure <david.faure@kdab.com> ---- - src/corelib/itemmodels/qidentityproxymodel.cpp | 18 ++--- - .../tst_qidentityproxymodel.cpp | 76 ++++++++++++++++++++++ - 2 files changed, 85 insertions(+), 9 deletions(-) - -diff --git a/src/corelib/itemmodels/qidentityproxymodel.cpp b/src/corelib/itemmodels/qidentityproxymodel.cpp -index e537793..7c30679 100644 ---- a/src/corelib/itemmodels/qidentityproxymodel.cpp -+++ b/src/corelib/itemmodels/qidentityproxymodel.cpp -@@ -496,15 +496,6 @@ void QIdentityProxyModelPrivate::_q_sourceLayoutAboutToBeChanged(const QList<QPe - { - Q_Q(QIdentityProxyModel); - -- const auto proxyPersistentIndexes = q->persistentIndexList(); -- for (const QPersistentModelIndex &proxyPersistentIndex : proxyPersistentIndexes) { -- proxyIndexes << proxyPersistentIndex; -- Q_ASSERT(proxyPersistentIndex.isValid()); -- const QPersistentModelIndex srcPersistentIndex = q->mapToSource(proxyPersistentIndex); -- Q_ASSERT(srcPersistentIndex.isValid()); -- layoutChangePersistentIndexes << srcPersistentIndex; -- } -- - QList<QPersistentModelIndex> parents; - parents.reserve(sourceParents.size()); - for (const QPersistentModelIndex &parent : sourceParents) { -@@ -518,6 +509,15 @@ void QIdentityProxyModelPrivate::_q_sourceLayoutAboutToBeChanged(const QList<QPe - } - - q->layoutAboutToBeChanged(parents, hint); -+ -+ const auto proxyPersistentIndexes = q->persistentIndexList(); -+ for (const QPersistentModelIndex &proxyPersistentIndex : proxyPersistentIndexes) { -+ proxyIndexes << proxyPersistentIndex; -+ Q_ASSERT(proxyPersistentIndex.isValid()); -+ const QPersistentModelIndex srcPersistentIndex = q->mapToSource(proxyPersistentIndex); -+ Q_ASSERT(srcPersistentIndex.isValid()); -+ layoutChangePersistentIndexes << srcPersistentIndex; -+ } - } - - void QIdentityProxyModelPrivate::_q_sourceLayoutChanged(const QList<QPersistentModelIndex> &sourceParents, QAbstractItemModel::LayoutChangeHint hint) -diff --git a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp -index e946f31..564b854 100644 ---- a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp -+++ b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp -@@ -68,6 +68,8 @@ private slots: - - void itemData(); - -+ void persistIndexOnLayoutChange(); -+ - protected: - void verifyIdentity(QAbstractItemModel *model, const QModelIndex &parent = QModelIndex()); - -@@ -377,5 +379,79 @@ void tst_QIdentityProxyModel::itemData() - QCOMPARE(proxy.itemData(topIndex).value(Qt::DisplayRole).toString(), QStringLiteral("Monday_appended")); - } - -+void dump(QAbstractItemModel* model, QString const& indent = " - ", QModelIndex const& parent = {}) -+{ -+ for (auto row = 0; row < model->rowCount(parent); ++row) -+ { -+ auto idx = model->index(row, 0, parent); -+ qDebug() << (indent + idx.data().toString()); -+ dump(model, indent + "- ", idx); -+ } -+} -+ -+void tst_QIdentityProxyModel::persistIndexOnLayoutChange() -+{ -+ DynamicTreeModel model; -+ -+ QList<int> ancestors; -+ for (auto i = 0; i < 3; ++i) -+ { -+ Q_UNUSED(i); -+ ModelInsertCommand insertCommand(&model); -+ insertCommand.setAncestorRowNumbers(ancestors); -+ insertCommand.setStartRow(0); -+ insertCommand.setEndRow(0); -+ insertCommand.doCommand(); -+ ancestors.push_back(0); -+ } -+ ModelInsertCommand insertCommand(&model); -+ insertCommand.setAncestorRowNumbers(ancestors); -+ insertCommand.setStartRow(0); -+ insertCommand.setEndRow(1); -+ insertCommand.doCommand(); -+ -+ // dump(&model); -+ // " - 1" -+ // " - - 2" -+ // " - - - 3" -+ // " - - - - 4" -+ // " - - - - 5" -+ -+ QIdentityProxyModel proxy; -+ proxy.setSourceModel(&model); -+ -+ QPersistentModelIndex persistentIndex; -+ -+ QPersistentModelIndex sourcePersistentIndex = model.match(model.index(0, 0), Qt::DisplayRole, "5", 1, Qt::MatchRecursive).first(); -+ -+ QCOMPARE(sourcePersistentIndex.data().toString(), QStringLiteral("5")); -+ -+ bool gotLayoutAboutToBeChanged = false; -+ bool gotLayoutChanged = false; -+ -+ QObject::connect(&proxy, &QAbstractItemModel::layoutAboutToBeChanged, &proxy, [&proxy, &persistentIndex, &gotLayoutAboutToBeChanged] -+ { -+ gotLayoutAboutToBeChanged = true; -+ persistentIndex = proxy.match(proxy.index(0, 0), Qt::DisplayRole, "5", 1, Qt::MatchRecursive).first(); -+ }); -+ -+ QObject::connect(&proxy, &QAbstractItemModel::layoutChanged, &proxy, [&proxy, &persistentIndex, &sourcePersistentIndex, &gotLayoutChanged] -+ { -+ gotLayoutChanged = true; -+ QCOMPARE(QModelIndex(persistentIndex), proxy.mapFromSource(sourcePersistentIndex)); -+ }); -+ -+ ModelChangeChildrenLayoutsCommand layoutChangeCommand(&model, 0); -+ -+ layoutChangeCommand.setAncestorRowNumbers(QList<int>{0, 0, 0}); -+ layoutChangeCommand.setSecondAncestorRowNumbers(QList<int>{0, 0}); -+ -+ layoutChangeCommand.doCommand(); -+ -+ QVERIFY(gotLayoutAboutToBeChanged); -+ QVERIFY(gotLayoutChanged); -+ QVERIFY(persistentIndex.isValid()); -+} -+ - QTEST_MAIN(tst_QIdentityProxyModel) - #include "tst_qidentityproxymodel.moc" --- -2.7.4 - diff --git a/dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-1.patch b/dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-1.patch deleted file mode 100644 index 9edbe18617a2..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-1.patch +++ /dev/null @@ -1,252 +0,0 @@ -From 3bd0fd8f97e7a33a874929a383a42e6c710bfff3 Mon Sep 17 00:00:00 2001 -From: Stephen Kelly <steveire@gmail.com> -Date: Sat, 17 Dec 2016 06:20:06 +0000 -Subject: [PATCH] QSFPM: Fix handling of source model layout change - -In sourceLayoutAboutToBeChanged the source model update is ignored if -the affected parents are filtered out anyway. The same logic is -attempted in the sourceLayoutChanged slot, but there the early-return -logic is applied too late - the mapping is cleared before performing the -early-return. Because pointers into the mapping are used in the -internalPointer of QModelIndexes in this class, persistent indexes used -later will segfault when attempting to dereference it. - -Additionally, if a parent becomes invalid as a result of the -layoutChange, it would be filtered out by the condition in the loop, -resulting in a different result in the comparison of emptiness of the -parents container. - -Fix that by persisting the parent's container, and performing the test -for early-return before clearing the mapping. - -Task-number: QTBUG-47711 -Task-number: QTBUG-32981 -Change-Id: If45e8a1c97d39454160f52041bc9ae7e337dce97 -Reviewed-by: David Faure <david.faure@kdab.com> ---- - src/corelib/itemmodels/qsortfilterproxymodel.cpp | 31 ++--- - .../tst_qsortfilterproxymodel.cpp | 126 +++++++++++++++++++++ - 2 files changed, 137 insertions(+), 20 deletions(-) - -diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp -index b0ddfa8..3331521 100644 ---- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp -+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp -@@ -171,6 +171,7 @@ public: - QRowsRemoval itemsBeingRemoved; - - QModelIndexPairList saved_persistent_indexes; -+ QList<QPersistentModelIndex> saved_layoutChange_parents; - - QHash<QModelIndex, Mapping *>::const_iterator create_mapping( - const QModelIndex &source_parent) const; -@@ -1331,23 +1332,23 @@ void QSortFilterProxyModelPrivate::_q_sourceLayoutAboutToBeChanged(const QList<Q - Q_UNUSED(hint); // We can't forward Hint because we might filter additional rows or columns - saved_persistent_indexes.clear(); - -- QList<QPersistentModelIndex> parents; -+ saved_layoutChange_parents.clear(); - for (const QPersistentModelIndex &parent : sourceParents) { - if (!parent.isValid()) { -- parents << QPersistentModelIndex(); -+ saved_layoutChange_parents << QPersistentModelIndex(); - continue; - } - const QModelIndex mappedParent = q->mapFromSource(parent); - // Might be filtered out. - if (mappedParent.isValid()) -- parents << mappedParent; -+ saved_layoutChange_parents << mappedParent; - } - - // All parents filtered out. -- if (!sourceParents.isEmpty() && parents.isEmpty()) -+ if (!sourceParents.isEmpty() && saved_layoutChange_parents.isEmpty()) - return; - -- emit q->layoutAboutToBeChanged(parents); -+ emit q->layoutAboutToBeChanged(saved_layoutChange_parents); - if (persistent.indexes.isEmpty()) - return; - -@@ -1359,6 +1360,9 @@ void QSortFilterProxyModelPrivate::_q_sourceLayoutChanged(const QList<QPersisten - Q_Q(QSortFilterProxyModel); - Q_UNUSED(hint); // We can't forward Hint because we might filter additional rows or columns - -+ if (!sourceParents.isEmpty() && saved_layoutChange_parents.isEmpty()) -+ return; -+ - // Optimize: We only actually have to clear the mapping related to the contents of - // sourceParents, not everything. - qDeleteAll(source_index_mapping); -@@ -1373,21 +1377,8 @@ void QSortFilterProxyModelPrivate::_q_sourceLayoutChanged(const QList<QPersisten - source_index_mapping.clear(); - } - -- QList<QPersistentModelIndex> parents; -- for (const QPersistentModelIndex &parent : sourceParents) { -- if (!parent.isValid()) { -- parents << QPersistentModelIndex(); -- continue; -- } -- const QModelIndex mappedParent = q->mapFromSource(parent); -- if (mappedParent.isValid()) -- parents << mappedParent; -- } -- -- if (!sourceParents.isEmpty() && parents.isEmpty()) -- return; -- -- emit q->layoutChanged(parents); -+ emit q->layoutChanged(saved_layoutChange_parents); -+ saved_layoutChange_parents.clear(); - } - - void QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted( -diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp -index 38e3c68..6b98d9f 100644 ---- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp -+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp -@@ -145,6 +145,8 @@ private slots: - void canDropMimeData(); - void filterHint(); - -+ void sourceLayoutChangeLeavesValidPersistentIndexes(); -+ - protected: - void buildHierarchy(const QStringList &data, QAbstractItemModel *model); - void checkHierarchy(const QStringList &data, const QAbstractItemModel *model); -@@ -4181,5 +4183,129 @@ void tst_QSortFilterProxyModel::filterHint() - QAbstractItemModel::NoLayoutChangeHint); - } - -+/** -+ -+ Creates a model where each item has one child, to a set depth, -+ and the last item has no children. For a model created with -+ setDepth(4): -+ -+ - 1 -+ - - 2 -+ - - - 3 -+ - - - - 4 -+*/ -+class StepTreeModel : public QAbstractItemModel -+{ -+ Q_OBJECT -+public: -+ StepTreeModel(QObject * parent = 0) -+ : QAbstractItemModel(parent), m_depth(0) {} -+ -+ int columnCount(const QModelIndex& = QModelIndex()) const override { return 1; } -+ -+ int rowCount(const QModelIndex& parent = QModelIndex()) const override -+ { -+ quintptr parentId = (parent.isValid()) ? parent.internalId() : 0; -+ return (parentId < m_depth) ? 1 : 0; -+ } -+ -+ QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override -+ { -+ if (role != Qt::DisplayRole) -+ return QVariant(); -+ -+ return QString::number(index.internalId()); -+ } -+ -+ QModelIndex index(int, int, const QModelIndex& parent = QModelIndex()) const override -+ { -+ quintptr parentId = (parent.isValid()) ? parent.internalId() : 0; -+ if (parentId >= m_depth) -+ return QModelIndex(); -+ -+ return createIndex(0, 0, parentId + 1); -+ } -+ -+ QModelIndex parent(const QModelIndex& index) const override -+ { -+ if (index.internalId() == 0) -+ return QModelIndex(); -+ -+ return createIndex(0, 0, index.internalId() - 1); -+ } -+ -+ void setDepth(quintptr depth) -+ { -+ int parentIdWithLayoutChange = (m_depth < depth) ? m_depth : depth; -+ -+ QList<QPersistentModelIndex> parentsOfLayoutChange; -+ parentsOfLayoutChange.push_back(createIndex(0, 0, parentIdWithLayoutChange)); -+ -+ layoutAboutToBeChanged(parentsOfLayoutChange); -+ -+ auto existing = persistentIndexList(); -+ -+ QList<QModelIndex> updated; -+ -+ for (auto idx : existing) { -+ if (indexDepth(idx) <= depth) -+ updated.push_back(idx); -+ else -+ updated.push_back({}); -+ } -+ -+ m_depth = depth; -+ -+ changePersistentIndexList(existing, updated); -+ -+ layoutChanged(parentsOfLayoutChange); -+ } -+ -+private: -+ static quintptr indexDepth(QModelIndex const& index) -+ { -+ return (index.isValid()) ? 1 + indexDepth(index.parent()) : 0; -+ } -+ -+private: -+ quintptr m_depth; -+}; -+ -+void tst_QSortFilterProxyModel::sourceLayoutChangeLeavesValidPersistentIndexes() -+{ -+ StepTreeModel model; -+ Q_SET_OBJECT_NAME(model); -+ model.setDepth(4); -+ -+ QSortFilterProxyModel proxy1; -+ proxy1.setSourceModel(&model); -+ Q_SET_OBJECT_NAME(proxy1); -+ -+ proxy1.setFilterRegExp("1|2"); -+ -+ // The current state of things: -+ // model proxy -+ // - 1 - 1 -+ // - - 2 - - 2 -+ // - - - 3 -+ // - - - - 4 -+ -+ // The setDepth call below removes '4' with a layoutChanged call. -+ // Because the proxy filters that out anyway, the proxy doesn't need -+ // to emit any signals or update persistent indexes. -+ -+ QPersistentModelIndex persistentIndex = proxy1.index(0, 0, proxy1.index(0, 0)); -+ -+ model.setDepth(3); -+ -+ // Calling parent() causes the internalPointer to be used. -+ // Before fixing QTBUG-47711, that could be a dangling pointer. -+ // The use of qDebug here makes sufficient use of the heap to -+ // cause corruption at runtime with normal use on linux (before -+ // the fix). valgrind confirms the fix. -+ qDebug() << persistentIndex.parent(); -+ QVERIFY(persistentIndex.parent().isValid()); -+} -+ - QTEST_MAIN(tst_QSortFilterProxyModel) - #include "tst_qsortfilterproxymodel.moc" --- -2.7.4 - - diff --git a/dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-2.patch b/dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-2.patch deleted file mode 100644 index 973649637e66..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.7.1-qsfpm-2.patch +++ /dev/null @@ -1,195 +0,0 @@ -From 0874861bcc70313c343aba5e5566ed30b69eed1c Mon Sep 17 00:00:00 2001 -From: Stephen Kelly <steveire@gmail.com> -Date: Mon, 19 Dec 2016 21:13:57 +0000 -Subject: [PATCH] QSFPM: Remove data manipulation from move handlers - -Similar to the fix in the parent commit, incorrect updating of the -internal data structures during layout changes can lead to dangling -pointers being dereferenced later. Moves are treated as layoutChanges -by this proxy by forwarding to the appropriate method. However, data is -incorrectly cleared prior to that forwarding. Remove that, and let the -layoutChange handling take appropriate action. - -Change-Id: Iee951e37152328a4e6a5fb8e5385c32a2fe4c0bd -Reviewed-by: David Faure <david.faure@kdab.com> ---- - src/corelib/itemmodels/qsortfilterproxymodel.cpp | 67 ++++------------------ - .../tst_qsortfilterproxymodel.cpp | 46 +++++++++++++++ - 2 files changed, 58 insertions(+), 55 deletions(-) - -diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp -index 3331521..226a240 100644 ---- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp -+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp -@@ -1418,49 +1418,27 @@ void QSortFilterProxyModelPrivate::_q_sourceRowsRemoved( - void QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeMoved( - const QModelIndex &sourceParent, int /* sourceStart */, int /* sourceEnd */, const QModelIndex &destParent, int /* dest */) - { -- Q_Q(QSortFilterProxyModel); - // Because rows which are contiguous in the source model might not be contiguous - // in the proxy due to sorting, the best thing we can do here is be specific about what - // parents are having their children changed. - // Optimize: Emit move signals if the proxy is not sorted. Will need to account for rows - // being filtered out though. - -- saved_persistent_indexes.clear(); -- - QList<QPersistentModelIndex> parents; -- parents << q->mapFromSource(sourceParent); -+ parents << sourceParent; - if (sourceParent != destParent) -- parents << q->mapFromSource(destParent); -- emit q->layoutAboutToBeChanged(parents); -- if (persistent.indexes.isEmpty()) -- return; -- saved_persistent_indexes = store_persistent_indexes(); -+ parents << destParent; -+ _q_sourceLayoutAboutToBeChanged(parents, QAbstractItemModel::NoLayoutChangeHint); - } - - void QSortFilterProxyModelPrivate::_q_sourceRowsMoved( - const QModelIndex &sourceParent, int /* sourceStart */, int /* sourceEnd */, const QModelIndex &destParent, int /* dest */) - { -- Q_Q(QSortFilterProxyModel); -- -- // Optimize: We only need to clear and update the persistent indexes which are children of -- // sourceParent or destParent -- qDeleteAll(source_index_mapping); -- source_index_mapping.clear(); -- -- update_persistent_indexes(saved_persistent_indexes); -- saved_persistent_indexes.clear(); -- -- if (dynamic_sortfilter && update_source_sort_column()) { -- //update_source_sort_column might have created wrong mapping so we have to clear it again -- qDeleteAll(source_index_mapping); -- source_index_mapping.clear(); -- } -- - QList<QPersistentModelIndex> parents; -- parents << q->mapFromSource(sourceParent); -+ parents << sourceParent; - if (sourceParent != destParent) -- parents << q->mapFromSource(destParent); -- emit q->layoutChanged(parents); -+ parents << destParent; -+ _q_sourceLayoutChanged(parents, QAbstractItemModel::NoLayoutChangeHint); - } - - void QSortFilterProxyModelPrivate::_q_sourceColumnsAboutToBeInserted( -@@ -1522,42 +1500,21 @@ void QSortFilterProxyModelPrivate::_q_sourceColumnsRemoved( - void QSortFilterProxyModelPrivate::_q_sourceColumnsAboutToBeMoved( - const QModelIndex &sourceParent, int /* sourceStart */, int /* sourceEnd */, const QModelIndex &destParent, int /* dest */) - { -- Q_Q(QSortFilterProxyModel); -- -- saved_persistent_indexes.clear(); -- - QList<QPersistentModelIndex> parents; -- parents << q->mapFromSource(sourceParent); -+ parents << sourceParent; - if (sourceParent != destParent) -- parents << q->mapFromSource(destParent); -- emit q->layoutAboutToBeChanged(parents); -- -- if (persistent.indexes.isEmpty()) -- return; -- saved_persistent_indexes = store_persistent_indexes(); -+ parents << destParent; -+ _q_sourceLayoutAboutToBeChanged(parents, QAbstractItemModel::NoLayoutChangeHint); - } - - void QSortFilterProxyModelPrivate::_q_sourceColumnsMoved( - const QModelIndex &sourceParent, int /* sourceStart */, int /* sourceEnd */, const QModelIndex &destParent, int /* dest */) - { -- Q_Q(QSortFilterProxyModel); -- -- qDeleteAll(source_index_mapping); -- source_index_mapping.clear(); -- -- update_persistent_indexes(saved_persistent_indexes); -- saved_persistent_indexes.clear(); -- -- if (dynamic_sortfilter && update_source_sort_column()) { -- qDeleteAll(source_index_mapping); -- source_index_mapping.clear(); -- } -- - QList<QPersistentModelIndex> parents; -- parents << q->mapFromSource(sourceParent); -+ parents << sourceParent; - if (sourceParent != destParent) -- parents << q->mapFromSource(destParent); -- emit q->layoutChanged(parents); -+ parents << destParent; -+ _q_sourceLayoutChanged(parents, QAbstractItemModel::NoLayoutChangeHint); - } - - /*! -diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp -index 6b98d9f..7b6c470 100644 ---- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp -+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp -@@ -146,6 +146,7 @@ private slots: - void filterHint(); - - void sourceLayoutChangeLeavesValidPersistentIndexes(); -+ void rowMoveLeavesValidPersistentIndexes(); - - protected: - void buildHierarchy(const QStringList &data, QAbstractItemModel *model); -@@ -4307,5 +4308,50 @@ void tst_QSortFilterProxyModel::sourceLayoutChangeLeavesValidPersistentIndexes() - QVERIFY(persistentIndex.parent().isValid()); - } - -+void tst_QSortFilterProxyModel::rowMoveLeavesValidPersistentIndexes() -+{ -+ DynamicTreeModel model; -+ Q_SET_OBJECT_NAME(model); -+ -+ QList<int> ancestors; -+ for (auto i = 0; i < 5; ++i) -+ { -+ Q_UNUSED(i); -+ ModelInsertCommand insertCommand(&model); -+ insertCommand.setAncestorRowNumbers(ancestors); -+ insertCommand.setStartRow(0); -+ insertCommand.setEndRow(0); -+ insertCommand.doCommand(); -+ ancestors.push_back(0); -+ } -+ -+ QSortFilterProxyModel proxy1; -+ proxy1.setSourceModel(&model); -+ Q_SET_OBJECT_NAME(proxy1); -+ -+ proxy1.setFilterRegExp("1|2"); -+ -+ auto item5 = model.match(model.index(0, 0), Qt::DisplayRole, "5", 1, Qt::MatchRecursive).first(); -+ auto item3 = model.match(model.index(0, 0), Qt::DisplayRole, "3", 1, Qt::MatchRecursive).first(); -+ -+ Q_ASSERT(item5.isValid()); -+ Q_ASSERT(item3.isValid()); -+ -+ QPersistentModelIndex persistentIndex = proxy1.match(proxy1.index(0, 0), Qt::DisplayRole, "2", 1, Qt::MatchRecursive).first(); -+ -+ ModelMoveCommand moveCommand(&model, 0); -+ moveCommand.setAncestorRowNumbers(QList<int>{0, 0, 0, 0}); -+ moveCommand.setStartRow(0); -+ moveCommand.setEndRow(0); -+ moveCommand.setDestRow(0); -+ moveCommand.setDestAncestors(QList<int>{0, 0, 0}); -+ moveCommand.doCommand(); -+ -+ // Calling parent() causes the internalPointer to be used. -+ // Before fixing QTBUG-47711 (moveRows case), that could be -+ // a dangling pointer. -+ QVERIFY(persistentIndex.parent().isValid()); -+} -+ - QTEST_MAIN(tst_QSortFilterProxyModel) - #include "tst_qsortfilterproxymodel.moc" --- -2.7.4 - - diff --git a/dev-qt/qtgui/files/qtgui-5.7.1-qclipboard.patch b/dev-qt/qtgui/files/qtgui-5.7.1-qclipboard.patch deleted file mode 100644 index 42ee58b611fe..000000000000 --- a/dev-qt/qtgui/files/qtgui-5.7.1-qclipboard.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 291eba6f8099a0fec8fbd9cf8a1fb67e5c9f4f8d Mon Sep 17 00:00:00 2001 -From: Palo Kisa <palo.kisa@gmail.com> -Date: Mon, 7 Nov 2016 18:27:17 +0100 -Subject: QClipboard: Fix emitting changed() in XCB - -In XCB environment the QClipboard::changed() was not delivered if the -QClipboard::clear() was issued by other Qt app/process. - -If the QClipboard::clear() is used, then the owner in -xcb_xfixes_selection_notify_event_t is XCB_NONE, so we need make the -decission to handle this event by the selection_timestamp and our -m_timestamp[mode]. - -Task-number: QTBUG-56972 -Change-Id: If4c486ac02223eac506465cac7ff1a07bd02a187 -Reviewed-by: Lars Knoll <lars.knoll@qt.io> ---- - src/plugins/platforms/xcb/qxcbclipboard.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp -index d44ebae..40abef4 100644 ---- a/src/plugins/platforms/xcb/qxcbclipboard.cpp -+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp -@@ -723,8 +723,10 @@ void QXcbClipboard::handleXFixesSelectionRequest(xcb_xfixes_selection_notify_eve - if (mode > QClipboard::Selection) - return; - -- // here we care only about the xfixes events that come from non Qt processes -- if (event->owner != XCB_NONE && event->owner != owner()) { -+ // Note1: Here we care only about the xfixes events that come from other processes. -+ // Note2: If the QClipboard::clear() is issued, event->owner is XCB_NONE, -+ // so we check selection_timestamp to not handle our own QClipboard::clear(). -+ if (event->owner != owner() && event->selection_timestamp > m_timestamp[mode]) { - if (!m_xClipboard[mode]) { - m_xClipboard[mode].reset(new QXcbClipboardMime(mode, this)); - } else { --- -cgit v1.0-4-g1e03 diff --git a/dev-qt/qtgui/files/qtgui-5.7.1-x32.patch b/dev-qt/qtgui/files/qtgui-5.7.1-x32.patch deleted file mode 100644 index 9cfc29d1d088..000000000000 --- a/dev-qt/qtgui/files/qtgui-5.7.1-x32.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 92805a0e9c488e47280e93f65e5378818e340ad1 Mon Sep 17 00:00:00 2001 -From: Laszlo Agocs <laszlo.agocs@qt.io> -Date: Mon, 7 Nov 2016 11:23:21 +0100 -Subject: Fix EGL break on Debian X32 - -Change to QT_POINTER_SIZE instead of Q_PROCESSOR_WORDSIZE. The latter -is 8 due to targeting 64-bit, but pointers are 32-bit still in such -builds. For the condition in question it is the pointer size that -matters. - -Task-number: QTBUG-56686 -Change-Id: I96c203cae91ceb8404606de605c4fdb1a02a9d5f -Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> -Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> ---- - src/platformsupport/eglconvenience/qt_egl_p.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/platformsupport/eglconvenience/qt_egl_p.h b/src/platformsupport/eglconvenience/qt_egl_p.h -index 615ee4b80a..b1495c9f9d 100644 ---- a/src/platformsupport/eglconvenience/qt_egl_p.h -+++ b/src/platformsupport/eglconvenience/qt_egl_p.h -@@ -83,7 +83,7 @@ struct QtEglConverter<uint32_t, uintptr_t> - { return v; } - }; - --#if Q_PROCESSOR_WORDSIZE > 4 -+#if QT_POINTER_SIZE > 4 - template <> - struct QtEglConverter<uintptr_t, uint32_t> - { --- -cgit v1.1-6-g87c4 - diff --git a/dev-qt/qtsql/files/qtsql-5.7.1-mariadb.patch b/dev-qt/qtsql/files/qtsql-5.7.1-mariadb.patch deleted file mode 100644 index 8aede46c3b4d..000000000000 --- a/dev-qt/qtsql/files/qtsql-5.7.1-mariadb.patch +++ /dev/null @@ -1,56 +0,0 @@ -From d25346417238b7dc0fb37359a9b56eff2908a5dc Mon Sep 17 00:00:00 2001 -From: =?utf8?q?Daniel=20Vr=C3=A1til?= <daniel.vratil@kdab.com> -Date: Mon, 18 Sep 2017 22:33:55 +0200 -Subject: [PATCH] Only call mysql_library_end() once when using MariaDB - -MariaDB allows only a single call to mysql_library_end(), all subsequent calls -to mysql_library_init() or any other API call will fail. Since QMYSQLDriver -calls mysql_library_end() function whenever the refcount drops to 0, this -breaks applications that close and reopen database connections. - -This change registers call to mysql_library_init() via qAddPostRoutine() -when compiled against MariaDB, so that we only call it once. - -Task-number: QTBUG-63108 -Change-Id: I22c1f0c5b081216f12596a32748dca25cae919e9 -Reviewed-by: Andy Shaw <andy.shaw@qt.io> ---- - src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp -index ee439fa..6e428fb 100644 ---- a/src/sql/drivers/mysql/qsql_mysql.cpp -+++ b/src/sql/drivers/mysql/qsql_mysql.cpp -@@ -1158,16 +1158,22 @@ static void qLibraryInit() - } - # endif // MYSQL_VERSION_ID - #endif // Q_NO_MYSQL_EMBEDDED -+ -+#ifdef MARIADB_BASE_VERSION -+ qAddPostRoutine(mysql_server_end); -+#endif - } - - static void qLibraryEnd() - { --#ifndef Q_NO_MYSQL_EMBEDDED --# if MYSQL_VERSION_ID > 40000 --# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 -- mysql_library_end(); --# else -- mysql_server_end(); -+#if !defined(MARIADB_BASE_VERSION) -+# if !defined(Q_NO_MYSQL_EMBEDDED) -+# if MYSQL_VERSION_ID > 40000 -+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 -+ mysql_library_end(); -+# else -+ mysql_server_end(); -+# endif - # endif - # endif - #endif --- -2.7.4 - diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch deleted file mode 100644 index 71881e0f77c2..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h ---- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h 2016-11-23 13:01:20.929772871 -0800 -+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h 2016-11-23 13:02:18.879462854 -0800 -@@ -24,7 +24,9 @@ - // Disable deprecated features which result in spammy compile warnings. This - // list of defines must mirror those in the 'defines' section of BUILD.gn file & - // ffmpeg.gyp file or the headers below will generate different structures! -+#if !defined(USE_SYSTEM_FFMPEG) - #define FF_API_CONVERGENCE_DURATION 0 -+#endif - // Upstream libavcodec/utils.c still uses the deprecated - // av_dup_packet(), causing deprecation warnings. - // The normal fix for such things is to disable the feature as below, diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch deleted file mode 100644 index ced5367c4826..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp ---- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp 2016-11-15 17:07:38.680665385 -0800 -+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp 2016-11-15 17:12:17.564001354 -0800 -@@ -26,6 +26,9 @@ - #include "wtf/StdLibExtras.h" - #include "wtf/text/CharacterNames.h" - -+#include <unicode/uchar.h> -+#include <unicode/uvernum.h> -+ - namespace blink { - - unsigned numGraphemeClusters(const String& string) -@@ -122,13 +125,18 @@ - { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL - }; - -+#if U_ICU_VERSION_MAJOR_NUM >= 58 -+#define BA_LB_COUNT (U_LB_COUNT - 3) -+#else -+#define BA_LB_COUNT U_LB_COUNT -+#endif - // Line breaking table for CSS word-break: break-all. This table differs from - // asciiLineBreakTable in: - // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking - // Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties - // - 1 indicates additional break opportunities. 0 indicates to fallback to - // normal line break, not "prohibit break." --static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = { -+static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = { - // XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI - { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX - { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI -@@ -178,7 +186,7 @@ - #undef AL - - static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent"); --static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent"); -+static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent"); - - static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh) - { -@@ -209,7 +217,7 @@ - - static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak) - { -- if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) { -+ if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) { - const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak]; - return tableRow[lineBreak / 8] & (1 << (lineBreak % 8)); - } diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch deleted file mode 100644 index 193e71362065..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch +++ /dev/null @@ -1,33 +0,0 @@ -From fa8cdb3a32c377b6290d0a92d2522186bcd48293 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> -Date: Tue, 9 Aug 2016 16:21:29 +0200 -Subject: Do not depend on Linux 4.5 - -Avoid using MADV_FREE that was only recently added to Linux. It will fail when -run on older Linux kernels. - -Change-Id: I9b0369fb31402f088b2327c12f70dd39f5e4c8c0 -Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> ---- - chromium/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp -index 12c9a7b..1639013 100644 ---- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp -+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp -@@ -39,6 +39,11 @@ - - #include <sys/mman.h> - -+#if OS(LINUX) && defined(MADV_FREE) -+// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime -+#undef MADV_FREE -+#endif -+ - #ifndef MADV_FREE - #define MADV_FREE MADV_DONTNEED - #endif --- -cgit v1.0-4-g1e03 - diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch deleted file mode 100644 index 597554e685cd..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch +++ /dev/null @@ -1,23 +0,0 @@ -# dev-qt/qtwebengine: Fix detecting audio backends. - -# The upstream change doesn't really work for us, so we'll make -# it work with us. -# Gentoo-Bug: https://bugs.gentoo.org/603498 - ---- /src/core/config/linux.pri 2016-12-23 00:05:41.057955774 +0200 -+++ /src/core/config/linux.pri 2016-12-23 00:09:39.000573909 +0200 -@@ -35,12 +35,12 @@ - contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 - contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 - contains(QT_CONFIG, system-harfbuzz): GYP_CONFIG += use_system_harfbuzz=1 --contains(QT_CONFIG, pulseaudio) { -+use?(pulseaudio) { - GYP_CONFIG += use_pulseaudio=1 - } else { - GYP_CONFIG += use_pulseaudio=0 - } --contains(QT_CONFIG, alsa) { -+use?(alsa) { - GYP_CONFIG += use_alsa=1 - } else { - GYP_CONFIG += use_alsa=0 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch deleted file mode 100644 index a5c3072a4777..000000000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch +++ /dev/null @@ -1,144 +0,0 @@ -From 64fdd317d4127142ad9e967197a2df6ac81ef55f Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@qt.io> -Date: Wed, 29 Mar 2017 17:42:18 +0200 -Subject: [PATCH] Fix build with GCC 7.0 -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Fixes some ambiguities and outright wrong code GCC 7 doesn't accept but -earlier compilers did. - -Task-number:QTBUG-59776 -Change-Id: I012f121842ac6cde49db0d571efc62aabe2115e3 -Reviewed-by: Michael Brüning <michael.bruning@qt.io> ---- - .../mojo/public/cpp/bindings/interface_ptr_info.h | 2 +- - .../third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++ - chromium/v8/src/objects-body-descriptors.h | 2 +- - chromium/v8/src/objects-inl.h | 19 +++++++++++++++++++ - chromium/v8/src/objects.h | 16 ++-------------- - 5 files changed, 25 insertions(+), 16 deletions(-) - -diff --git a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h -index 5bd29d5..c94a5ac 100644 ---- a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h -+++ b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h -@@ -34,7 +34,7 @@ class InterfacePtrInfo { - - InterfacePtrInfo& operator=(InterfacePtrInfo&& other) { - if (this != &other) { -- handle_ = other.handle_.Pass(); -+ handle_ = std::move(other.handle_); - version_ = other.version_; - other.version_ = 0u; - } --- -2.7.4 -From 493441248c82d9f39d0947e3bbf4571736e1cf85 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@qt.io> -Date: Wed, 29 Mar 2017 15:53:00 +0200 -Subject: [PATCH 1/1] Fix build with GCC 7.0 -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -Fixes a few problems with using undeclared functions and ambigious -code. - -Task-number: QTBUG-59776 -Change-Id: I59813919b4867d5dd3499a45baed004a1a1c1a3c -Reviewed-by: Michael Brüning <michael.bruning@qt.io> ---- - chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++ - .../third_party/pdfium/fpdfsdk/javascript/global.cpp | 8 ++++---- - chromium/v8/src/objects-body-descriptors.h | 2 +- - chromium/v8/src/objects-inl.h | 18 ++++++++++++++++++ - chromium/v8/src/objects.h | 16 ++-------------- - 5 files changed, 27 insertions(+), 19 deletions(-) - -diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h -index e85c72f..6f94cd6 100644 ---- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h -+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h -@@ -542,6 +542,8 @@ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(LinkedHas - return *this; - } - -+inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b); -+ - template<typename T, typename U, typename V, typename W> - inline void LinkedHashSet<T, U, V, W>::swap(LinkedHashSet& other) - { -diff --git a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h -index 91cb888..a1c3634 100644 ---- a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h -+++ b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h -@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase { - - template <typename StaticVisitor> - static inline void IterateBody(HeapObject* obj, int object_size) { -- IterateBody(obj); -+ IterateBody<StaticVisitor>(obj); - } - }; - -diff --git a/src/3rdparty/chromium/v8/src/objects-inl.h b/src/3rdparty/chromium/v8/src/objects-inl.h -index 58441d3..4c486ea 100644 ---- a/src/3rdparty/chromium/v8/src/objects-inl.h -+++ b/src/3rdparty/chromium/v8/src/objects-inl.h -@@ -7588,6 +7588,24 @@ bool GlobalDictionaryShape::IsDeleted(Dictionary* dict, int entry) { - } - - -+template <typename Derived, typename Shape, typename Key> -+inline uint32_t HashTable<Derived,Shape,Key>::Hash(Key key) { -+ if (Shape::UsesSeed) { -+ return Shape::SeededHash(key, GetHeap()->HashSeed()); -+ } else { -+ return Shape::Hash(key); -+ } -+} -+ -+template <typename Derived, typename Shape, typename Key> -+inline uint32_t HashTable<Derived,Shape,Key>::HashForObject(Key key, Object* object) { -+ if (Shape::UsesSeed) { -+ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); -+ } else { -+ return Shape::HashForObject(key, object); -+ } -+} -+ - bool ObjectHashTableShape::IsMatch(Handle<Object> key, Object* other) { - return key->SameValue(other); - } -diff --git a/src/3rdparty/chromium/v8/src/objects.h b/src/3rdparty/chromium/v8/src/objects.h -index 7d774be..42da5fa 100644 ---- a/src/3rdparty/chromium/v8/src/objects.h -+++ b/src/3rdparty/chromium/v8/src/objects.h -@@ -3194,21 +3194,9 @@ class HashTable : public HashTableBase { - typedef Shape ShapeT; - - // Wrapper methods -- inline uint32_t Hash(Key key) { -- if (Shape::UsesSeed) { -- return Shape::SeededHash(key, GetHeap()->HashSeed()); -- } else { -- return Shape::Hash(key); -- } -- } -+ inline uint32_t Hash(Key key); - -- inline uint32_t HashForObject(Key key, Object* object) { -- if (Shape::UsesSeed) { -- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); -- } else { -- return Shape::HashForObject(key, object); -- } -- } -+ inline uint32_t HashForObject(Key key, Object* object); - - // Returns a new HashTable object. - MUST_USE_RESULT static Handle<Derived> New( --- -2.7.4 |