[neon/qt6/qt6-declarative/Neon/unstable] debian/patches: drop temp patch

Carlos De Maine null at kde.org
Mon Oct 2 20:14:14 BST 2023


Git commit 767e88fc597840db9734ff72e514b450aeaee8ed by Carlos De Maine.
Committed on 02/10/2023 at 21:14.
Pushed by carlosdem into branch 'Neon/unstable'.

drop temp patch

D  +0    -146  debian/patches/fix_kdeconnect_crash.patch
M  +0    -1    debian/patches/series

https://invent.kde.org/neon/qt6/qt6-declarative/-/commit/767e88fc597840db9734ff72e514b450aeaee8ed

diff --git a/debian/patches/fix_kdeconnect_crash.patch b/debian/patches/fix_kdeconnect_crash.patch
deleted file mode 100644
index cf37420..0000000
--- a/debian/patches/fix_kdeconnect_crash.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-diff --git a/src/qmlmodels/qqmldmabstractitemmodeldata.cpp b/src/qmlmodels/qqmldmabstractitemmodeldata.cpp
-index 257a6bfc31..901d8bbe53 100644
---- a/src/qmlmodels/qqmldmabstractitemmodeldata.cpp
-+++ b/src/qmlmodels/qqmldmabstractitemmodeldata.cpp
-@@ -42,7 +42,11 @@ int QQmlDMAbstractItemModelData::metaCall(QMetaObject::Call call, int id, void *
-                 QMetaObject::activate(this, meta, 0, nullptr);
-             }
-         } else if (*m_type->model) {
-+            QQmlGuard<QQmlDMAbstractItemModelData> guard(this);
-             setValue(m_type->propertyRoles.at(propertyIndex), *static_cast<QVariant *>(arguments[0]));
-+            if (guard.isNull())
-+              return -1;
-+
-             QMetaObject::activate(this, meta, propertyIndex, nullptr);
-         }
-         emit modelDataChanged();
-diff --git a/tests/auto/qml/qqmlinstantiator/data/removeDuringModelChange.qml b/tests/auto/qml/qqmlinstantiator/data/removeDuringModelChange.qml
-new file mode 100644
-index 0000000000..079e376549
---- /dev/null
-+++ b/tests/auto/qml/qqmlinstantiator/data/removeDuringModelChange.qml
-@@ -0,0 +1,10 @@
-+import QtQuick 2.15
-+import QtQml.Models 2.15
-+
-+Instantiator {
-+    delegate: QtObject {
-+        function deactivate() {
-+            model.active = false;
-+        }
-+    }
-+}
-diff --git a/tests/auto/qml/qqmlinstantiator/tst_qqmlinstantiator.cpp b/tests/auto/qml/qqmlinstantiator/tst_qqmlinstantiator.cpp
-index 1097c65f02..f6d2752889 100644
---- a/tests/auto/qml/qqmlinstantiator/tst_qqmlinstantiator.cpp
-+++ b/tests/auto/qml/qqmlinstantiator/tst_qqmlinstantiator.cpp
-@@ -2,6 +2,7 @@
- // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
- #include <qtest.h>
- #include <QSignalSpy>
-+#include <QSortFilterProxyModel>
- #include <QDebug>
- 
- #include <QtQml/qqmlengine.h>
-@@ -28,6 +29,7 @@ private slots:
-     void activeModelChangeInteraction();
-     void intModelChange();
-     void createAndRemove();
-+    void removeDuringModelChange();
- 
-     void asynchronous_data();
-     void asynchronous();
-@@ -306,6 +308,93 @@ void tst_qqmlinstantiator::boundDelegateComponent()
-     QCOMPARE(b->objectAt(2)->objectName(), QStringLiteral("root3"));
- }
- 
-+class SingleBoolItemModel : public QAbstractListModel
-+{
-+    Q_OBJECT
-+
-+public:
-+    SingleBoolItemModel(QObject *parent = nullptr) : QAbstractListModel(parent) {}
-+
-+    int rowCount(const QModelIndex &parent = QModelIndex()) const override
-+    {
-+        if (parent.isValid())
-+            return 0;
-+        return 1;
-+    }
-+
-+    QVariant data(const QModelIndex &index, int role) const override
-+    {
-+        if (index.parent().isValid() || index.row() != 0 || index.column() != 0
-+                || role != Qt::UserRole)
-+            return QVariant();
-+
-+        return m_active;
-+    }
-+
-+    bool setData(const QModelIndex &index, const QVariant &value,
-+                 int role) override {
-+        if (index.parent().isValid() || index.row() != 0 || index.column() != 0
-+                || role != Qt::UserRole || m_active == value.toBool())
-+            return false;
-+
-+        m_active = value.toBool();
-+        Q_EMIT dataChanged(index, index, QList<int>{Qt::UserRole});
-+        return true;
-+    }
-+
-+    QHash<int, QByteArray> roleNames() const override
-+    {
-+        return { {Qt::UserRole, "active"} };
-+    }
-+
-+private:
-+    bool m_active = true;
-+};
-+
-+class FilterBoolRoleProxyModel : public QSortFilterProxyModel
-+{
-+    Q_OBJECT
-+
-+public:
-+    FilterBoolRoleProxyModel(QObject *parent = nullptr)
-+        : QSortFilterProxyModel(parent) {}
-+
-+    bool filterAcceptsRow(int source_row,
-+                          const QModelIndex &source_parent) const override
-+    {
-+        return sourceModel()->index(source_row, 0, source_parent).data(Qt::UserRole).toBool();
-+    }
-+};
-+
-+void tst_qqmlinstantiator::removeDuringModelChange()
-+{
-+    SingleBoolItemModel model;
-+
-+    FilterBoolRoleProxyModel proxyModel;
-+    proxyModel.setSourceModel(&model);
-+    proxyModel.setFilterRole(Qt::UserRole);
-+    QCOMPARE(proxyModel.rowCount(), 1);
-+
-+    QQmlEngine engine;
-+    const QUrl url(testFileUrl("removeDuringModelChange.qml"));
-+    QQmlComponent component(&engine, url);
-+    QVERIFY2(component.isReady(), qPrintable(component.errorString()));
-+
-+    QScopedPointer<QObject> o(component.create());
-+    QVERIFY2(!o.isNull(), qPrintable(component.errorString()));
-+
-+    QQmlInstantiator *instantiator = qobject_cast<QQmlInstantiator *>(o.data());
-+
-+    instantiator->setModel(QVariant::fromValue(&proxyModel));
-+
-+    QSignalSpy removedSpy(instantiator, &QQmlInstantiator::objectRemoved);
-+    QMetaObject::invokeMethod(instantiator->object(), "deactivate");
-+
-+    // We should still be alive at this point.
-+    QCOMPARE(removedSpy.size(), 1);
-+    QCOMPARE(proxyModel.rowCount(), 0);
-+}
-+
- QTEST_MAIN(tst_qqmlinstantiator)
- 
- #include "tst_qqmlinstantiator.moc"
\ No newline at end of file
diff --git a/debian/patches/series b/debian/patches/series
index 5972b11..e69de29 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +0,0 @@
-fix_kdeconnect_crash.patch
\ No newline at end of file


More information about the Neon-commits mailing list