[SCM] qtdeclarative packaging branch, ubuntu, updated. ubuntu/5.6.1-7ubuntu1-2-g92afba1
Timo Jyrinki
timo at moszumanska.debian.org
Mon Oct 3 13:12:59 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=d31f9f7
The following commit has been merged in the ubuntu branch:
commit d31f9f72fcfff6bac50aa67f1beeb4d963cf002b
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date: Mon Oct 3 13:11:47 2016 +0000
debian/patches/Revert-Remove-this-piece-of-code.patch:
* debian/patches/Revert-Remove-this-piece-of-code.patch:
- Cherry-pick from Qt 5.6.2 (LP: #1613670)
---
debian/changelog | 7 ++
.../patches/Revert-Remove-this-piece-of-code.patch | 99 ++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 107 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 0664c6b..3ca8913 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+qtdeclarative-opensource-src (5.6.1-7ubuntu2) UNRELEASED; urgency=medium
+
+ * debian/patches/Revert-Remove-this-piece-of-code.patch:
+ - Cherry-pick from Qt 5.6.2 (LP: #1613670)
+
+ -- Timo Jyrinki <timo-jyrinki at ubuntu.com> Mon, 26 Sep 2016 13:13:20 +0000
+
qtdeclarative-opensource-src (5.6.1-7ubuntu1~2) yakkety; urgency=medium
* debian/patches/Fix-visibility-of-properties-in-value-types.patch:
diff --git a/debian/patches/Revert-Remove-this-piece-of-code.patch b/debian/patches/Revert-Remove-this-piece-of-code.patch
new file mode 100644
index 0000000..416e785
--- /dev/null
+++ b/debian/patches/Revert-Remove-this-piece-of-code.patch
@@ -0,0 +1,99 @@
+From 6371b208a9e55845090dcd34234e314c6587c105 Mon Sep 17 00:00:00 2001
+From: Simon Hausmann <simon.hausmann at theqtcompany.com>
+Date: Tue, 17 May 2016 15:18:12 +0200
+Subject: [PATCH] Revert "Remove this piece of code"
+
+This reverts commit bad007360a0f6fba304d8f4c99826a1250fd886c.
+
+The lookup in the global object is necessary to detect whether we've seen any
+unresolved properties. This is used for the optimization of skipping binding
+refresh updates when a context property changes.
+
+Task-number: QTBUG-53431
+Change-Id: Idb39a32e4b58b915496bbb9d8a098dc17a6f688a
+Reviewed-by: Lars Knoll <lars.knoll at theqtcompany.com>
+---
+ src/qml/qml/qqmlcontextwrapper.cpp | 13 +++++++++++--
+ tests/auto/qml/qqmlcontext/data/qtbug_53431.qml | 7 +++++++
+ tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp | 14 ++++++++++++++
+ 3 files changed, 32 insertions(+), 2 deletions(-)
+ create mode 100644 tests/auto/qml/qqmlcontext/data/qtbug_53431.qml
+
+diff --git a/src/qml/qml/qqmlcontextwrapper.cpp b/src/qml/qml/qqmlcontextwrapper.cpp
+index 0d84c3b..e3770a7 100644
+--- a/src/qml/qml/qqmlcontextwrapper.cpp
++++ b/src/qml/qml/qqmlcontextwrapper.cpp
+@@ -99,14 +99,23 @@ ReturnedValue QmlContextWrapper::get(const Managed *m, String *name, bool *hasPr
+ QV4::ExecutionEngine *v4 = resource->engine();
+ QV4::Scope scope(v4);
+
++ // In V8 the JS global object would come _before_ the QML global object,
++ // so simulate that here.
++ bool hasProp;
++ QV4::ScopedValue result(scope, v4->globalObject->get(name, &hasProp));
++ if (hasProp) {
++ if (hasProperty)
++ *hasProperty = hasProp;
++ return result->asReturnedValue();
++ }
++
+ if (resource->d()->isNullWrapper)
+ return Object::get(m, name, hasProperty);
+
+ if (v4->callingQmlContext() != resource->d()->context)
+ return Object::get(m, name, hasProperty);
+
+- bool hasProp;
+- QV4::ScopedValue result(scope, Object::get(m, name, &hasProp));
++ result = Object::get(m, name, &hasProp);
+ if (hasProp) {
+ if (hasProperty)
+ *hasProperty = hasProp;
+diff --git a/tests/auto/qml/qqmlcontext/data/qtbug_53431.qml b/tests/auto/qml/qqmlcontext/data/qtbug_53431.qml
+new file mode 100644
+index 0000000..2ceee2b
+--- /dev/null
++++ b/tests/auto/qml/qqmlcontext/data/qtbug_53431.qml
+@@ -0,0 +1,7 @@
++import QtQml 2.0
++QtObject {
++ property int value: {
++ console.log("lookup in global object")
++ return 1
++ }
++}
+diff --git a/tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp b/tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp
+index 18ef7ac..d338e6f 100644
+--- a/tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp
++++ b/tests/auto/qml/qqmlcontext/tst_qqmlcontext.cpp
+@@ -61,6 +61,7 @@ private slots:
+ void refreshExpressions();
+ void refreshExpressionsCrash();
+ void refreshExpressionsRootContext();
++ void skipExpressionRefresh_qtbug_53431();
+
+ void qtbug_22535();
+ void evalAfterInvalidate();
+@@ -642,6 +643,19 @@ void tst_qqmlcontext::refreshExpressionsRootContext()
+ delete o1;
+ }
+
++void tst_qqmlcontext::skipExpressionRefresh_qtbug_53431()
++{
++ QQmlEngine engine;
++ QQmlComponent component(&engine, testFileUrl("qtbug_53431.qml"));
++ QScopedPointer<QObject> object(component.create(0));
++ QVERIFY(!object.isNull());
++ QCOMPARE(object->property("value").toInt(), 1);
++ object->setProperty("value", 10);
++ QCOMPARE(object->property("value").toInt(), 10);
++ engine.rootContext()->setContextProperty("randomContextProperty", 42);
++ QCOMPARE(object->property("value").toInt(), 10);
++}
++
+ void tst_qqmlcontext::qtbug_22535()
+ {
+ QQmlEngine engine;
+--
+2.9.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 672fd02..2c6f97b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,6 +8,7 @@ Flickable-fix-minXExtent-minYExtent-when-content-is-.patch
QQuickWindow-Fill-out-timestamps-in-QHoverEvents-sen.patch
Fix-visibility-of-properties-in-value-types.patch
Fix-V4-on-big-endian.patch
+Revert-Remove-this-piece-of-code.patch
# Debian patches
check_system_double-conversion.patch
--
qtdeclarative packaging
More information about the pkg-kde-commits
mailing list