[neon/qt6/qt6-declarative/Neon/release] debian/patches: drop upstreamed patch

Carlos De Maine null at kde.org
Tue Feb 10 23:38:12 GMT 2026


Git commit 434fa2ea4f1e97a907e9af349cd599d37d2e6d62 by Carlos De Maine.
Committed on 10/02/2026 at 23:38.
Pushed by carlosdem into branch 'Neon/release'.

drop upstreamed patch

D  +0    -243  debian/patches/9c6b2b7.diff
M  +0    -1    debian/patches/series

https://invent.kde.org/neon/qt6/qt6-declarative/-/commit/434fa2ea4f1e97a907e9af349cd599d37d2e6d62

diff --git a/debian/patches/9c6b2b7.diff b/debian/patches/9c6b2b7.diff
deleted file mode 100644
index e77813c..0000000
--- a/debian/patches/9c6b2b7.diff
+++ /dev/null
@@ -1,243 +0,0 @@
-From 9c6b2b78e9076f1c2676aa0c41573db9ca480654 Mon Sep 17 00:00:00 2001
-From: Ulf Hermann <ulf.hermann at qt.io>
-Date: Tue, 02 Dec 2025 17:42:30 +0100
-Subject: [PATCH] QtQml: Invalidate fallback lookups after each call from AOT code
-
-Fallback property lookups are created for completely dynamic
-metaobjects. Anything about them may change between any two calls.
-
-Pick-to: 6.8 6.5
-Fixes: QTBUG-142331
-Change-Id: Ib732c37a6f27ab8105bea0eeae000af7eb9c36d7
-Reviewed-by: Sami Shalayel <sami.shalayel at qt.io>
-(cherry picked from commit 9af6d2d6d0046b3c8369e15eb4791957cdc7ab7b)
-Reviewed-by: Fabian Kosmale <fabian.kosmale at qt.io>
----
-
-diff --git a/src/qml/jsruntime/qv4lookup_p.h b/src/qml/jsruntime/qv4lookup_p.h
-index 083c3ec..ef36bf6 100644
---- a/src/qml/jsruntime/qv4lookup_p.h
-+++ b/src/qml/jsruntime/qv4lookup_p.h
-@@ -159,6 +159,10 @@
-             const QQmlPropertyData *propertyData;
-         } qobjectMethodLookup;
-         struct {
-+            // NB: None of this is actually cache-able. The metaobject may change at any time.
-+            //     We invalidate this data every time the lookup is invoked and thereby force a
-+            //     re-initialization next time.
-+
-             quintptr isConstant; // This is a bool, encoded as 0 or 1. Both values are ignored by gc
-             quintptr metaObject; // a (const QMetaObject* & 1) or nullptr
-             int coreIndex;
-diff --git a/src/qml/qml/qqml.cpp b/src/qml/qml/qqml.cpp
-index 4e3b4fc..3f0d9e3 100644
---- a/src/qml/qml/qqml.cpp
-+++ b/src/qml/qml/qqml.cpp
-@@ -1386,16 +1386,16 @@
- 
- static FallbackPropertyQmlData findFallbackPropertyQmlData(QV4::Lookup *lookup, QObject *object)
- {
--    QQmlData *qmlData = QQmlData::get(object);
--    if (qmlData && qmlData->isQueuedForDeletion)
--        return {qmlData, nullptr, PropertyResult::Deleted};
-+    // We've just initialized the lookup. So everything must be fine here.
- 
-+    QQmlData *qmlData = QQmlData::get(object);
-+
-+    Q_ASSERT(!qmlData || !qmlData->isQueuedForDeletion);
-     Q_ASSERT(!QQmlData::wasDeleted(object));
- 
-     const QMetaObject *metaObject
-             = reinterpret_cast<const QMetaObject *>(lookup->qobjectFallbackLookup.metaObject - 1);
--    if (!metaObject || metaObject != object->metaObject())
--        return {qmlData, nullptr, PropertyResult::NeedsInit};
-+    Q_ASSERT(metaObject == object->metaObject());
- 
-     return {qmlData, metaObject, PropertyResult::OK};
- }
-@@ -2585,6 +2585,7 @@
-         break;
-     case QV4::Lookup::Call::ContextGetterScopeObjectPropertyFallback:
-         result = loadFallbackProperty(lookup, qmlScopeObject, target, this);
-+        lookup->call = QV4::Lookup::Call::ContextGetterGeneric;
-         break;
-     default:
-         return false;
-@@ -2616,6 +2617,7 @@
-         break;
-     case QV4::Lookup::Call::ContextGetterScopeObjectPropertyFallback:
-         result = writeBackFallbackProperty(lookup, qmlScopeObject, source);
-+        lookup->call = QV4::Lookup::Call::ContextGetterGeneric;
-         break;
-     default:
-         return false;
-@@ -2816,6 +2818,7 @@
-         result = lookup->asVariant
-                 ? loadFallbackAsVariant(lookup, object, target, this)
-                 : loadFallbackProperty(lookup, object, target, this);
-+        lookup->call = QV4::Lookup::Call::GetterGeneric;
-         break;
-     default:
-         return false;
-@@ -2850,6 +2853,7 @@
-         result = lookup->asVariant
-                 ? writeBackFallbackAsVariant(lookup, object, source)
-                 : writeBackFallbackProperty(lookup, object, source);
-+        lookup->call = QV4::Lookup::Call::GetterGeneric;
-         break;
-     default:
-         return false;
-@@ -3010,6 +3014,7 @@
-         result = lookup->asVariant
-                 ? storeFallbackAsVariant(engine->handle(), lookup, object, value)
-                 : storeFallbackProperty(lookup, object, value);
-+        lookup->call = QV4::Lookup::Call::SetterGeneric;
-         break;
-     default:
-         return false;
-diff --git a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
-index 79e908c..67cdefa 100644
---- a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
-+++ b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt
-@@ -26,6 +26,7 @@
-     multiforeign.h
-     objectwithmethod.h
-     person.cpp person.h
-+    propertymap.h
-     qmlusing.h
-     recursiveObject.h
-     refuseWrite.h
-@@ -282,6 +283,7 @@
-     popContextAfterRet.qml
-     prefixedMetaType.qml
-     pressAndHoldButton.qml
-+    propertyMap.qml
-     qmlUsing.qml
-     qtbug113150.qml
-     qtfont.qml
-diff --git a/tests/auto/qml/qmlcppcodegen/data/propertyMap.qml b/tests/auto/qml/qmlcppcodegen/data/propertyMap.qml
-new file mode 100644
-index 0000000..c00f397
---- /dev/null
-+++ b/tests/auto/qml/qmlcppcodegen/data/propertyMap.qml
-@@ -0,0 +1,6 @@
-+pragma Strict
-+import TestTypes
-+
-+WithPropertyMap {
-+    objectName: map.foo
-+}
-diff --git a/tests/auto/qml/qmlcppcodegen/data/propertymap.h b/tests/auto/qml/qmlcppcodegen/data/propertymap.h
-new file mode 100644
-index 0000000..64d84c5
---- /dev/null
-+++ b/tests/auto/qml/qmlcppcodegen/data/propertymap.h
-@@ -0,0 +1,40 @@
-+// Copyright (C) 2025 The Qt Company Ltd.
-+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
-+
-+#ifndef PROPERTYMAP_H
-+#define PROPERTYMAP_H
-+
-+#include <QtCore/qobject.h>
-+#include <QtQml/qqml.h>
-+#include <QtQml/qqmlpropertymap.h>
-+
-+class WithPropertyMap : public QObject
-+{
-+    Q_OBJECT
-+    QML_ELEMENT
-+    Q_PROPERTY(QQmlPropertyMap *map READ map NOTIFY mapChanged)
-+public:
-+    WithPropertyMap(QObject *parent = nullptr)
-+        : QObject(parent)
-+        , m_map(new QQmlPropertyMap(this))
-+    {
-+    }
-+
-+    QQmlPropertyMap *map() const { return m_map; }
-+
-+    void setProperties(const QVariantHash &properties)
-+    {
-+        delete m_map;
-+        m_map = new QQmlPropertyMap(this);
-+        m_map->insert(properties);
-+        emit mapChanged();
-+    }
-+
-+signals:
-+    void mapChanged();
-+
-+private:
-+    QQmlPropertyMap *m_map = nullptr;
-+};
-+
-+#endif // PROPERTYMAP_H
-diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
-index 70c50b4..a90e2a6 100644
---- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
-+++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
-@@ -10,6 +10,7 @@
- #include <data/getOptionalLookup.h>
- #include <data/listprovider.h>
- #include <data/objectwithmethod.h>
-+#include <data/propertymap.h>
- #include <data/qmlusing.h>
- #include <data/refuseWrite.h>
- #include <data/resettable.h>
-@@ -237,6 +238,7 @@
-     void parentProperty();
-     void popContextAfterRet();
-     void prefixedType();
-+    void propertyMap();
-     void propertyOfParent();
-     void qmlUsing();
-     void qtfont();
-@@ -4908,6 +4910,47 @@
-     QCOMPARE(o->property("countH").toInt(), 11);
- }
- 
-+void tst_QmlCppCodegen::propertyMap()
-+{
-+    QQmlEngine engine;
-+
-+    const QUrl document(u"qrc:/qt/qml/TestTypes/propertyMap.qml"_s);
-+    QQmlComponent c(&engine, document);
-+    QVERIFY2(c.isReady(), qPrintable(c.errorString()));
-+
-+    QTest::ignoreMessage(
-+            QtWarningMsg, qPrintable(
-+                document.toString()
-+                + u":5:5: QML WithPropertyMap: Unable to assign [undefined] to \"objectName\""));
-+
-+    QScopedPointer<QObject> o(c.create());
-+    QVERIFY(o);
-+
-+    WithPropertyMap *w = qobject_cast<WithPropertyMap *>(o.data());
-+    QVERIFY(w);
-+
-+    QVERIFY(w->objectName().isEmpty());
-+
-+    w->setProperties({
-+        { u"foo"_s, u"aaa"_s },
-+        { u"bar"_s, u"bbb"_s },
-+    });
-+
-+    QCOMPARE(w->objectName(), u"aaa"_s);
-+
-+    w->setProperties({
-+        { u"foo"_s, u"ccc"_s },
-+    });
-+
-+    QCOMPARE(w->objectName(), u"ccc"_s);
-+
-+    w->setProperties({
-+        { u"foo"_s, 24.25 },
-+    });
-+
-+    QCOMPARE(w->objectName(), u"24.25"_s);
-+}
-+
- void tst_QmlCppCodegen::propertyOfParent()
- {
-     QQmlEngine engine;
diff --git a/debian/patches/series b/debian/patches/series
index 0df3e7d..1f1d8c1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
-9c6b2b7.diff
 dc2358e.diff


More information about the Neon-commits mailing list