[SCM] qtdeclarative packaging branch, master, updated. debian/5.9.2-2-4-gcf458c9

Dmitry Shachnev mitya57 at moszumanska.debian.org
Thu Oct 26 12:17:40 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=cf458c9

The following commit has been merged in the master branch:
commit cf458c94ba7dc57c0c71dfe8092e9ebdc7f3ced7
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date:   Thu Oct 26 15:17:12 2017 +0300

    Temporarily revert upstream commit that caused issues in some KDE apps.
---
 debian/changelog                              |   1 +
 debian/patches/revert_singletons_change.patch | 136 ++++++++++++++++++++++++++
 debian/patches/series                         |   1 +
 3 files changed, 138 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 16e0757..dcfdac1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ qtdeclarative-opensource-src (5.9.2-3) UNRELEASED; urgency=medium
   [ Dmitry Shachnev ]
   * Bump qtdeclarative-abi version to 5-9-2.
   * Update debian/libqt5qml5.symbols from buildds’ logs.
+  * Temporarily revert upstream commit that caused issues in some KDE apps.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Thu, 26 Oct 2017 00:30:17 +0300
 
diff --git a/debian/patches/revert_singletons_change.patch b/debian/patches/revert_singletons_change.patch
new file mode 100644
index 0000000..9808ef6
--- /dev/null
+++ b/debian/patches/revert_singletons_change.patch
@@ -0,0 +1,136 @@
+Description: revert commit 98358715930739ca which caused issues in some apps
+Author: Dmitry Shachnev <mitya57 at debian.org>
+Bug: https://bugreports.qt.io/browse/QTBUG-64017
+Bug: https://bugs.kde.org/show_bug.cgi?id=385648
+Forwarded: no
+Last-Update: 2017-10-26
+
+--- a/src/qml/qml/qqmlimport.cpp
++++ b/src/qml/qml/qqmlimport.cpp
+@@ -471,17 +471,6 @@
+                 resultList.append(ref);
+             }
+         }
+-
+-        if (QQmlTypeModule *module = QQmlMetaType::typeModule(import->uri, import->majversion)) {
+-            module->walkCompositeSingletons([&resultList, &set](const QQmlType &singleton) {
+-                QQmlImports::CompositeSingletonReference ref;
+-                ref.typeName = singleton.elementName();
+-                ref.prefix = set.prefix;
+-                ref.majorVersion = singleton.majorVersion();
+-                ref.minorVersion = singleton.minorVersion();
+-                resultList.append(ref);
+-            });
+-        }
+     }
+ }
+ 
+--- a/src/qml/qml/qqmlmetatype.cpp
++++ b/src/qml/qml/qqmlmetatype.cpp
+@@ -1265,18 +1265,6 @@
+     return QQmlType();
+ }
+ 
+-void QQmlTypeModule::walkCompositeSingletons(const std::function<void(const QQmlType &)> &callback) const
+-{
+-    QMutexLocker lock(metaTypeDataLock());
+-    for (auto typeCandidates = d->typeHash.begin(), end = d->typeHash.end();
+-         typeCandidates != end; ++typeCandidates) {
+-        for (auto type: typeCandidates.value()) {
+-            if (type->regType == QQmlType::CompositeSingletonType)
+-                callback(QQmlType(type));
+-        }
+-    }
+-}
+-
+ QQmlTypeModuleVersion::QQmlTypeModuleVersion()
+ : m_module(0), m_minor(0)
+ {
+--- a/src/qml/qml/qqmlmetatype_p.h
++++ b/src/qml/qml/qqmlmetatype_p.h
+@@ -299,8 +299,6 @@
+     QQmlType type(const QHashedStringRef &, int) const;
+     QQmlType type(const QV4::String *, int) const;
+ 
+-    void walkCompositeSingletons(const std::function<void(const QQmlType &)> &callback) const;
+-
+     QQmlTypeModulePrivate *priv() { return d; }
+ private:
+     //Used by register functions and creates the QQmlTypeModule for them
+--- a/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp
++++ b/tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp
+@@ -59,7 +59,6 @@
+     void cacheResources();
+     void stableOrderOfDependentCompositeTypes();
+     void singletonDependency();
+-    void cppRegisteredSingletonDependency();
+ };
+ 
+ // A wrapper around QQmlComponent to ensure the temporary reference counts
+@@ -791,66 +790,6 @@
+     }
+ }
+ 
+-void tst_qmldiskcache::cppRegisteredSingletonDependency()
+-{
+-    qmlClearTypeRegistrations();
+-    QScopedPointer<QQmlEngine> engine(new QQmlEngine);
+-
+-    QTemporaryDir tempDir;
+-    QVERIFY(tempDir.isValid());
+-
+-    const auto writeTempFile = [&tempDir](const QString &fileName, const char *contents) {
+-        QFile f(tempDir.path() + '/' + fileName);
+-        const bool ok = f.open(QIODevice::WriteOnly | QIODevice::Truncate);
+-        Q_ASSERT(ok);
+-        f.write(contents);
+-        return f.fileName();
+-    };
+-
+-    writeTempFile("MySingleton.qml", "import QtQml 2.0
pragma Singleton
QtObject { property int value: 42 }");
+-
+-    qmlRegisterSingletonType(QUrl::fromLocalFile(tempDir.path() + QLatin1String("/MySingleton.qml")), "CppRegisteredSingletonDependency", 1, 0, "Singly");
+-
+-    const QString testFilePath = writeTempFile("main.qml", "import QtQml 2.0
import CppRegisteredSingletonDependency 1.0
QtObject {
"
+-                                                           "    function getValue() { return Singly.value; }
"
+-                                                           "}");
+-
+-    {
+-        CleanlyLoadingComponent component(engine.data(), QUrl::fromLocalFile(testFilePath));
+-        QScopedPointer<QObject> obj(component.create());
+-        QVERIFY(!obj.isNull());
+-        QVariant value;
+-        QVERIFY(QMetaObject::invokeMethod(obj.data(), "getValue", Q_RETURN_ARG(QVariant, value)));
+-        QCOMPARE(value.toInt(), 42);
+-    }
+-
+-    const QString testFileCachePath = testFilePath + QLatin1Char('c');
+-    QVERIFY(QFile::exists(testFileCachePath));
+-    QDateTime initialCacheTimeStamp = QFileInfo(testFileCachePath).lastModified();
+-
+-    engine.reset(new QQmlEngine);
+-    waitForFileSystem();
+-
+-    writeTempFile("MySingleton.qml", "import QtQml 2.0
pragma Singleton
QtObject { property int value: 100 }");
+-    waitForFileSystem();
+-
+-    {
+-        CleanlyLoadingComponent component(engine.data(), QUrl::fromLocalFile(testFilePath));
+-        QScopedPointer<QObject> obj(component.create());
+-        QVERIFY(!obj.isNull());
+-
+-        {
+-            QVERIFY(QFile::exists(testFileCachePath));
+-            QDateTime newCacheTimeStamp = QFileInfo(testFileCachePath).lastModified();
+-            QVERIFY2(newCacheTimeStamp > initialCacheTimeStamp, qPrintable(newCacheTimeStamp.toString()));
+-        }
+-
+-        QVariant value;
+-        QVERIFY(QMetaObject::invokeMethod(obj.data(), "getValue", Q_RETURN_ARG(QVariant, value)));
+-        QCOMPARE(value.toInt(), 100);
+-    }
+-}
+-
+ QTEST_MAIN(tst_qmldiskcache)
+ 
+ #include "tst_qmldiskcache.moc"
diff --git a/debian/patches/series b/debian/patches/series
index ab002cf..48f1452 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@ disableopengltests.patch
 fix_test_remove_qlibraryinfo.patch
 Do-not-make-lack-of-SSE2-support-on-x86-32-fatal.patch
 disable_jit_on_mips.patch
+revert_singletons_change.patch

-- 
qtdeclarative packaging



More information about the pkg-kde-commits mailing list