diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 96388db..0000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/qtdeclarative-opensource-src-5.5.1.tar.xz -/qtdeclarative-opensource-src-5.6.0-beta1.tar.xz -/qtdeclarative-opensource-src-5.6.0-beta.tar.gz -/qtdeclarative-opensource-src-5.6.0-rc.tar.xz -/qtdeclarative-opensource-src-5.6.0.tar.xz -/qtdeclarative-opensource-src-5.6.1.tar.xz diff --git a/0007-Revert-Remove-this-piece-of-code.patch b/0007-Revert-Remove-this-piece-of-code.patch deleted file mode 100644 index 567b62d..0000000 --- a/0007-Revert-Remove-this-piece-of-code.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 6371b208a9e55845090dcd34234e314c6587c105 Mon Sep 17 00:00:00 2001 -From: Simon Hausmann -Date: Tue, 17 May 2016 15:18:12 +0200 -Subject: [PATCH 07/40] 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 ---- - 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 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; --- -1.9.3 - diff --git a/0010-Fix-crash-for-unknown-QQmlListModel-roles-in-debug-b.patch b/0010-Fix-crash-for-unknown-QQmlListModel-roles-in-debug-b.patch deleted file mode 100644 index 6d697b0..0000000 --- a/0010-Fix-crash-for-unknown-QQmlListModel-roles-in-debug-b.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 82b0b31fe47a6a54c500f2cbea45b37fc28f3bee Mon Sep 17 00:00:00 2001 -From: Filipe Azevedo -Date: Mon, 2 May 2016 13:11:26 +0200 -Subject: [PATCH 10/40] Fix crash for unknown QQmlListModel roles in debug - builds - -If a role is unknown, trying to access it will crash in getExistingRole. -Fixed that and now return QVariant() for unknown roles. - -Change-Id: Iad5c1292a4faee893fbc5a69984cf776aca85d70 -Reviewed-by: Shawn Rutledge -Reviewed-by: Robin Burchell ---- - src/qml/types/qqmllistmodel.cpp | 2 ++ - tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp | 16 ++++++++++++++++ - 2 files changed, 18 insertions(+) - -diff --git a/src/qml/types/qqmllistmodel.cpp b/src/qml/types/qqmllistmodel.cpp -index 4b0aa47..3d71621 100644 ---- a/src/qml/types/qqmllistmodel.cpp -+++ b/src/qml/types/qqmllistmodel.cpp -@@ -392,6 +392,8 @@ void ListModel::updateCacheIndices() - - QVariant ListModel::getProperty(int elementIndex, int roleIndex, const QQmlListModel *owner, QV4::ExecutionEngine *eng) - { -+ if (roleIndex >= m_layout->roleCount()) -+ return QVariant(); - ListElement *e = elements[elementIndex]; - const ListLayout::Role &r = m_layout->getExistingRole(roleIndex); - return e->getProperty(r, owner, eng); -diff --git a/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp b/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp -index d26c1c5..6b1dece 100644 ---- a/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp -+++ b/tests/auto/qml/qqmllistmodel/tst_qqmllistmodel.cpp -@@ -110,6 +110,7 @@ private slots: - void get_nested(); - void get_nested_data(); - void crash_model_with_multiple_roles(); -+ void crash_model_with_unknown_roles(); - void set_model_cache(); - void property_changes(); - void property_changes_data(); -@@ -968,6 +969,21 @@ void tst_qqmllistmodel::crash_model_with_multiple_roles() - delete rootItem; - } - -+void tst_qqmllistmodel::crash_model_with_unknown_roles() -+{ -+ QQmlEngine eng; -+ QQmlComponent component(&eng, testFileUrl("multipleroles.qml")); -+ QScopedPointer rootItem(component.create()); -+ QVERIFY(component.errorString().isEmpty()); -+ QVERIFY(rootItem != 0); -+ QQmlListModel *model = rootItem->findChild("listModel"); -+ QVERIFY(model != 0); -+ -+ // used to cause a crash in debug builds -+ model->index(0, 0, QModelIndex()).data(Qt::DisplayRole); -+ model->index(0, 0, QModelIndex()).data(Qt::UserRole); -+} -+ - //QTBUG-15190 - void tst_qqmllistmodel::set_model_cache() - { --- -1.9.3 - diff --git a/0011-Avoid-Canvas-crashes-with-qtquickcompiler.patch b/0011-Avoid-Canvas-crashes-with-qtquickcompiler.patch deleted file mode 100644 index ba76088..0000000 --- a/0011-Avoid-Canvas-crashes-with-qtquickcompiler.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 40a80ec9d712d8c40ebd6a6373322c3332ff5b50 Mon Sep 17 00:00:00 2001 -From: Laszlo Agocs -Date: Mon, 23 May 2016 16:01:44 +0200 -Subject: [PATCH 11/40] Avoid Canvas crashes with qtquickcompiler - -Change-Id: Ic87052308706b8ef71e2f27837abfbaea57c43cc -Task-number: QTBUG-49692 -Reviewed-by: Mitch Curtis ---- - src/quick/items/context2d/qquickcanvasitem.cpp | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp -index 9fb49f9..47ac2c4 100644 ---- a/src/quick/items/context2d/qquickcanvasitem.cpp -+++ b/src/quick/items/context2d/qquickcanvasitem.cpp -@@ -675,10 +675,14 @@ void QQuickCanvasItem::itemChange(QQuickItem::ItemChange change, const QQuickIte - QSGRenderContext *context = QQuickWindowPrivate::get(d->window)->context; - - // Rendering to FramebufferObject needs a valid OpenGL context. -- if (context != 0 && (d->renderTarget != FramebufferObject || context->isValid())) -- sceneGraphInitialized(); -- else -+ if (context != 0 && (d->renderTarget != FramebufferObject || context->isValid())) { -+ // Defer the call. In some (arguably incorrect) cases we get here due -+ // to ItemSceneChange with the user-supplied property values not yet -+ // set. Work this around by a deferred invoke. (QTBUG-49692) -+ QMetaObject::invokeMethod(this, "sceneGraphInitialized", Qt::QueuedConnection); -+ } else { - connect(d->window, SIGNAL(sceneGraphInitialized()), SLOT(sceneGraphInitialized())); -+ } - } - - void QQuickCanvasItem::updatePolish() --- -1.9.3 - diff --git a/0016-Fix-crash-with-SignalTransition.patch b/0016-Fix-crash-with-SignalTransition.patch deleted file mode 100644 index ce972fe..0000000 --- a/0016-Fix-crash-with-SignalTransition.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 7dcda224fe73cb51a29e8946afd641a989d7209a Mon Sep 17 00:00:00 2001 -From: Simon Hausmann -Date: Wed, 25 May 2016 16:22:44 +0200 -Subject: [PATCH 16/40] Fix crash with SignalTransition - -Don't crash when using SignalTransition with a signal object instead of the -slot used to emit the signal. A signal object is just as good. - -Task-number: QTBUG-53596 -Change-Id: I8a419d16ec0c257c9a798a83ee5bad338794cdd2 -Reviewed-by: Michael Brasser ---- - src/imports/statemachine/signaltransition.cpp | 26 ++++++-- - src/qml/jsruntime/qv4qobjectwrapper_p.h | 2 +- - .../qmltest/statemachine/tst_signaltransition.qml | 76 ++++++++++++++++++++++ - 3 files changed, 96 insertions(+), 8 deletions(-) - create mode 100644 tests/auto/qmltest/statemachine/tst_signaltransition.qml - -diff --git a/src/imports/statemachine/signaltransition.cpp b/src/imports/statemachine/signaltransition.cpp -index 33ee11c..4f6c769 100644 ---- a/src/imports/statemachine/signaltransition.cpp -+++ b/src/imports/statemachine/signaltransition.cpp -@@ -105,15 +105,27 @@ void SignalTransition::setSignal(const QJSValue &signal) - QV4::ExecutionEngine *jsEngine = QV8Engine::getV4(QQmlEngine::contextForObject(this)->engine()); - QV4::Scope scope(jsEngine); - -- QV4::Scoped qobjectSignal(scope, QJSValuePrivate::convertedToValue(jsEngine, m_signal)); -- Q_ASSERT(qobjectSignal); -- -- QObject *sender = qobjectSignal->object(); -- Q_ASSERT(sender); -- QMetaMethod metaMethod = sender->metaObject()->method(qobjectSignal->methodIndex()); -+ QObject *sender; -+ QMetaMethod signalMethod; -+ -+ QV4::ScopedValue value(scope, QJSValuePrivate::convertedToValue(jsEngine, m_signal)); -+ -+ // Did we get the "slot" that can be used to invoke the signal? -+ if (QV4::QObjectMethod *signalSlot = value->as()) { -+ sender = signalSlot->object(); -+ Q_ASSERT(sender); -+ signalMethod = sender->metaObject()->method(signalSlot->methodIndex()); -+ } else if (QV4::QmlSignalHandler *signalObject = value->as()) { // or did we get the signal object (the one with the connect()/disconnect() functions) ? -+ sender = signalObject->object(); -+ Q_ASSERT(sender); -+ signalMethod = sender->metaObject()->method(signalObject->signalIndex()); -+ } else { -+ qmlInfo(this) << tr("Specified signal does not exist."); -+ return; -+ } - - QSignalTransition::setSenderObject(sender); -- QSignalTransition::setSignal(metaMethod.methodSignature()); -+ QSignalTransition::setSignal(signalMethod.methodSignature()); - - connectTriggered(); - } -diff --git a/src/qml/jsruntime/qv4qobjectwrapper_p.h b/src/qml/jsruntime/qv4qobjectwrapper_p.h -index 1126013..0fc39b2 100644 ---- a/src/qml/jsruntime/qv4qobjectwrapper_p.h -+++ b/src/qml/jsruntime/qv4qobjectwrapper_p.h -@@ -166,7 +166,7 @@ struct Q_QML_EXPORT QObjectMethod : public QV4::FunctionObject - static void markObjects(Heap::Base *that, QV4::ExecutionEngine *e); - }; - --struct QmlSignalHandler : public QV4::Object -+struct Q_QML_EXPORT QmlSignalHandler : public QV4::Object - { - V4_OBJECT2(QmlSignalHandler, QV4::Object) - V4_PROTOTYPE(signalHandlerPrototype) -diff --git a/tests/auto/qmltest/statemachine/tst_signaltransition.qml b/tests/auto/qmltest/statemachine/tst_signaltransition.qml -new file mode 100644 -index 0000000..0e35207 ---- /dev/null -+++ b/tests/auto/qmltest/statemachine/tst_signaltransition.qml -@@ -0,0 +1,76 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2014 Ford Motor Company -+** Copyright (C) 2016 The Qt Company -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the test suite module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL21$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+import QtTest 1.1 -+import QtQml.StateMachine 1.0 -+ -+TestCase { -+ id: testCase -+ StateMachine { -+ id: machine -+ initialState: startState -+ State { -+ id: startState -+ SignalTransition { -+ id: signalTrans -+ signal: testCase.onMysignal -+ targetState: finalState -+ } -+ } -+ FinalState { -+ id: finalState -+ } -+ } -+ -+ SignalSpy { -+ id: finalStateActive -+ target: finalState -+ signalName: "activeChanged" -+ } -+ -+ signal mysignal() -+ -+ name: "testSignalTransition" -+ function test_signalTransition() -+ { -+ // Start statemachine, should not have reached finalState yet. -+ machine.start() -+ tryCompare(finalStateActive, "count", 0) -+ tryCompare(machine, "running", true) -+ -+ testCase.mysignal() -+ tryCompare(finalStateActive, "count", 1) -+ tryCompare(machine, "running", false) -+ } -+} --- -1.9.3 - diff --git a/0024-Revert-removal-of-Fixed-MouseArea-threshold-with-pre.patch b/0024-Revert-removal-of-Fixed-MouseArea-threshold-with-pre.patch deleted file mode 100644 index 28b70ef..0000000 --- a/0024-Revert-removal-of-Fixed-MouseArea-threshold-with-pre.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 7039db4885a143f8f1d363c9b71665e9160d3d55 Mon Sep 17 00:00:00 2001 -From: Filippo Cucchetto -Date: Thu, 2 Jun 2016 21:49:37 +0200 -Subject: [PATCH 24/40] Revert removal of "Fixed MouseArea threshold with - preventStealing" - -This reverts commit 9c8dab537819f0d999e680490c2d125b8836cbbb -where commit e1400b5b4d8311769ad3b9f631479ee2b0271197 was removed -due to the breakage of QtLocation tests. - -After some hours of debugging it seems that the problem in QtLocation -was due to filtering of mouse move events in QDeclarativeGeoMapItemBase. -See QTBUG-52075 - -Task-number: QTBUG-52534 -Change-Id: I00f002c1d6f60f74a148b5a6ac2b9f63e93718a9 -Reviewed-by: Paolo Angelelli -Reviewed-by: Michal Klocek ---- - src/quick/items/qquickmousearea.cpp | 21 +++++++++++++-------- - src/quick/items/qquickmousearea_p_p.h | 1 + - .../quick/qquickmousearea/tst_qquickmousearea.cpp | 11 +++++++++++ - 3 files changed, 25 insertions(+), 8 deletions(-) - -diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp -index ef053ab..d66e55a 100644 ---- a/src/quick/items/qquickmousearea.cpp -+++ b/src/quick/items/qquickmousearea.cpp -@@ -52,7 +52,7 @@ DEFINE_BOOL_CONFIG_OPTION(qmlVisualTouchDebugging, QML_VISUAL_TOUCH_DEBUGGING) - QQuickMouseAreaPrivate::QQuickMouseAreaPrivate() - : enabled(true), scrollGestureEnabled(true), hovered(false), longPress(false), - moved(false), stealMouse(false), doubleClick(false), preventStealing(false), -- propagateComposedEvents(false), pressed(0) -+ propagateComposedEvents(false), overThreshold(false), pressed(0) - #ifndef QT_NO_DRAGANDDROP - , drag(0) - #endif -@@ -715,7 +715,7 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event) - curLocalPos = event->windowPos(); - } - -- if (keepMouseGrab() && d->stealMouse && !d->drag->active()) -+ if (keepMouseGrab() && d->stealMouse && d->overThreshold && !d->drag->active()) - d->drag->setActive(true); - - QPointF startPos = d->drag->target()->parentItem() -@@ -741,16 +741,19 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event) - if (d->drag->active()) - d->drag->target()->setPosition(dragPos); - -- if (!keepMouseGrab() -- && (QQuickWindowPrivate::dragOverThreshold(dragPos.x() - startPos.x(), Qt::XAxis, event, d->drag->threshold()) -- || QQuickWindowPrivate::dragOverThreshold(dragPos.y() - startPos.y(), Qt::YAxis, event, d->drag->threshold()))) { -- setKeepMouseGrab(true); -- d->stealMouse = true; -- -+ if (!d->overThreshold && (QQuickWindowPrivate::dragOverThreshold(dragPos.x() - startPos.x(), Qt::XAxis, event, d->drag->threshold()) -+ || QQuickWindowPrivate::dragOverThreshold(dragPos.y() - startPos.y(), Qt::YAxis, event, d->drag->threshold()))) -+ { -+ d->overThreshold = true; - if (d->drag->smoothed()) - d->startScene = event->windowPos(); - } - -+ if (!keepMouseGrab() && d->overThreshold) { -+ setKeepMouseGrab(true); -+ d->stealMouse = true; -+ } -+ - d->moved = true; - } - #endif -@@ -767,6 +770,7 @@ void QQuickMouseArea::mouseReleaseEvent(QMouseEvent *event) - { - Q_D(QQuickMouseArea); - d->stealMouse = false; -+ d->overThreshold = false; - if (!d->enabled && !d->pressed) { - QQuickItem::mouseReleaseEvent(event); - } else { -@@ -875,6 +879,7 @@ void QQuickMouseArea::ungrabMouse() - d->pressed = 0; - d->stealMouse = false; - d->doubleClick = false; -+ d->overThreshold = false; - setKeepMouseGrab(false); - - #ifndef QT_NO_DRAGANDDROP -diff --git a/src/quick/items/qquickmousearea_p_p.h b/src/quick/items/qquickmousearea_p_p.h -index 014729b..f63c5f6 100644 ---- a/src/quick/items/qquickmousearea_p_p.h -+++ b/src/quick/items/qquickmousearea_p_p.h -@@ -86,6 +86,7 @@ public: - bool doubleClick : 1; - bool preventStealing : 1; - bool propagateComposedEvents : 1; -+ bool overThreshold : 1; - Qt::MouseButtons pressed; - #ifndef QT_NO_DRAGANDDROP - QQuickDrag *drag; -diff --git a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp -index 82c053d..9cdfd21 100644 ---- a/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp -+++ b/tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp -@@ -79,6 +79,7 @@ private slots: - void dragging_data() { acceptedButton_data(); } - void dragging(); - void dragSmoothed(); -+ void dragThreshold_data(); - void dragThreshold(); - void invalidDrag_data() { rejectedButton_data(); } - void invalidDrag(); -@@ -375,8 +376,17 @@ void tst_QQuickMouseArea::dragSmoothed() - QTest::mouseRelease(&window, Qt::LeftButton, 0, QPoint(100, 122)); - } - -+void tst_QQuickMouseArea::dragThreshold_data() -+{ -+ QTest::addColumn("preventStealing"); -+ QTest::newRow("without preventStealing") << false; -+ QTest::newRow("with preventStealing") << true; -+} -+ - void tst_QQuickMouseArea::dragThreshold() - { -+ QFETCH(bool, preventStealing); -+ - QQuickView window; - QByteArray errorMessage; - QVERIFY2(initView(window, testFileUrl("dragging.qml"), true, &errorMessage), errorMessage.constData()); -@@ -386,6 +396,7 @@ void tst_QQuickMouseArea::dragThreshold() - QVERIFY(window.rootObject() != 0); - - QQuickMouseArea *mouseRegion = window.rootObject()->findChild("mouseregion"); -+ mouseRegion->setPreventStealing(preventStealing); - QQuickDrag *drag = mouseRegion->drag(); - - drag->setThreshold(5); --- -1.9.3 - diff --git a/0027-Fix-crash-when-using-with-statement-with-an-expressi.patch b/0027-Fix-crash-when-using-with-statement-with-an-expressi.patch deleted file mode 100644 index ef62d93..0000000 --- a/0027-Fix-crash-when-using-with-statement-with-an-expressi.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 6d54a59bd725ba83e758236c5ff0fc7855109dac Mon Sep 17 00:00:00 2001 -From: Simon Hausmann -Date: Thu, 2 Jun 2016 15:57:41 +0200 -Subject: [PATCH 27/40] Fix crash when using with statement with an expression - that throws - -We need to evaluate the expression for the "with" statement that is supposed to -define the new scope _before_ opening up the scope, otherwise - when the -evaluation of the expression throws an exception - we'll try to pop the "with" -scope we couldn't open in the first place. - -[ChangeLog][QtQml] Fix crash when using the "with" statement with an expression -that throws an exception. - -Task-number: QTBUG-53794 -Change-Id: I7733f5a4c5d844916302b9a91c789a0f6b421e8a -Reviewed-by: Lars Knoll ---- - src/qml/compiler/qv4codegen.cpp | 5 +++-- - tests/auto/qml/qjsengine/tst_qjsengine.cpp | 9 +++++++++ - 2 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp -index ea82d07..c14163a 100644 ---- a/src/qml/compiler/qv4codegen.cpp -+++ b/src/qml/compiler/qv4codegen.cpp -@@ -2718,6 +2718,9 @@ bool Codegen::visit(WithStatement *ast) - - _function->hasWith = true; - -+ const int withObject = _block->newTemp(); -+ _block->MOVE(_block->TEMP(withObject), *expression(ast->expression)); -+ - // need an exception handler for with to cleanup the with scope - IR::BasicBlock *withExceptionHandler = _function->newBasicBlock(exceptionHandler()); - withExceptionHandler->EXP(withExceptionHandler->CALL(withExceptionHandler->NAME(IR::Name::builtin_pop_scope, 0, 0), 0)); -@@ -2732,8 +2735,6 @@ bool Codegen::visit(WithStatement *ast) - - _block->JUMP(withBlock); - _block = withBlock; -- int withObject = _block->newTemp(); -- _block->MOVE(_block->TEMP(withObject), *expression(ast->expression)); - IR::ExprList *args = _function->New(); - args->init(_block->TEMP(withObject)); - _block->EXP(_block->CALL(_block->NAME(IR::Name::builtin_push_with_scope, 0, 0), args)); -diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp -index 9a0865c..8594aec 100644 ---- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp -+++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp -@@ -193,6 +193,8 @@ private slots: - - void v4FunctionWithoutQML(); - -+ void withNoContext(); -+ - signals: - void testSignal(); - }; -@@ -3840,6 +3842,13 @@ void tst_QJSEngine::v4FunctionWithoutQML() - QVERIFY(obj.called); - } - -+void tst_QJSEngine::withNoContext() -+{ -+ // Don't crash (QTBUG-53794) -+ QJSEngine engine; -+ engine.evaluate("with (noContext) true"); -+} -+ - QTEST_MAIN(tst_QJSEngine) - - #include "tst_qjsengine.moc" --- -1.9.3 - diff --git a/0033-QML-Only-release-types-if-they-aren-t-referenced-any.patch b/0033-QML-Only-release-types-if-they-aren-t-referenced-any.patch deleted file mode 100644 index a274426..0000000 --- a/0033-QML-Only-release-types-if-they-aren-t-referenced-any.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 2ac19881f92c94f4e9427bd9ff513210675f259e Mon Sep 17 00:00:00 2001 -From: Ulf Hermann -Date: Wed, 8 Jun 2016 17:32:32 +0200 -Subject: [PATCH 33/40] QML: Only release types if they aren't referenced - anymore - -Just checking for references on m_compiledData is not enough. The -actual component can also be referenced. Thus it won't be deleted -on release(), but cannot be found in the type cache anymore. - -Task-number: QTBUG-53761 -Change-Id: I8567af8e75a078598e4fed31e4717134e1332278 -Reviewed-by: Mitch Curtis -Reviewed-by: Simon Hausmann ---- - src/qml/qml/qqmltypeloader.cpp | 3 ++- - tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp | 15 ++++++++++++--- - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp -index c684c86..01200fd 100644 ---- a/src/qml/qml/qqmltypeloader.cpp -+++ b/src/qml/qml/qqmltypeloader.cpp -@@ -1961,7 +1961,8 @@ void QQmlTypeLoader::trimCache() - QList unneededTypes; - for (TypeCache::Iterator iter = m_typeCache.begin(), end = m_typeCache.end(); iter != end; ++iter) { - QQmlTypeData *typeData = iter.value(); -- if (typeData->m_compiledData && typeData->m_compiledData->count() == 1) { -+ if (typeData->m_compiledData && typeData->count() == 1 -+ && typeData->m_compiledData->count() == 1) { - // There are no live objects of this type - unneededTypes.append(iter); - } -diff --git a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp -index 7045c7c..a1eaa05 100644 ---- a/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp -+++ b/tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp -@@ -86,10 +86,19 @@ void tst_QQMLTypeLoader::trimCache() - url.setQuery(QString::number(i)); - - QQmlTypeData *data = loader.getType(url); -- if (i % 5 == 0) // keep references to some of them so that they aren't trimmed -- data->compiledData()->addref(); -+ // Run an event loop to receive the callback that release()es. -+ QTRY_COMPARE(data->count(), 2); - -- data->release(); -+ // keep references to some of them so that they aren't trimmed. References to either the -+ // QQmlTypeData or its compiledData() should prevent the trimming. -+ if (i % 10 == 0) { -+ // keep ref on data, don't add ref on data->compiledData() -+ } else if (i % 5 == 0) { -+ data->compiledData()->addref(); -+ data->release(); -+ } else { -+ data->release(); -+ } - } - - for (int i = 0; i < 256; ++i) { --- -1.9.3 - diff --git a/Check-for-NULL-from-glGetString.patch b/Check-for-NULL-from-glGetString.patch deleted file mode 100644 index 5d8e04e..0000000 --- a/Check-for-NULL-from-glGetString.patch +++ /dev/null @@ -1,116 +0,0 @@ -From d4efd5ab810e92202efe672be29136324dd2a3f9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?D=C4=81vis=20Mos=C4=81ns?= -Date: Mon, 28 Dec 2015 05:43:18 +0200 -Subject: [PATCH] Check for NULL from glGetString - -glGetString can return NULL pointer in case of error -so check for it before using. - -Change-Id: Ia07424c8f2b3ce6dce675514900a509e3ef3b739 ---- - src/particles/qquickimageparticle.cpp | 6 ++++-- - src/quick/scenegraph/qsgcontext.cpp | 22 ++++++++++++++++------ - .../qsgdefaultdistancefieldglyphcache.cpp | 8 +++++--- - src/quick/scenegraph/util/qsgatlastexture.cpp | 4 ++-- - 4 files changed, 27 insertions(+), 13 deletions(-) - -diff --git a/src/particles/qquickimageparticle.cpp b/src/particles/qquickimageparticle.cpp -index d78a350..b54861e 100644 ---- a/src/particles/qquickimageparticle.cpp -+++ b/src/particles/qquickimageparticle.cpp -@@ -1276,14 +1276,16 @@ void QQuickImageParticle::finishBuildParticleNodes(QSGNode** node) - // OS X 10.8.3 introduced a bug in the AMD drivers, for at least the 2011 macbook pros, - // causing point sprites who read gl_PointCoord in the frag shader to come out as - // green-red blobs. -- if (perfLevel < Deformable && strstr((char *) glGetString(GL_VENDOR), "ATI")) { -+ const char *vendor = (const char *) glGetString(GL_VENDOR); -+ if (perfLevel < Deformable && vendor && strstr(vendor, "ATI")) { - perfLevel = Deformable; - } - #endif - - #ifdef Q_OS_LINUX - // Nouveau drivers can potentially freeze a machine entirely when taking the point-sprite path. -- if (perfLevel < Deformable && strstr((const char *) glGetString(GL_VENDOR), "nouveau")) -+ const char *vendor = (const char *) glGetString(GL_VENDOR); -+ if (perfLevel < Deformable && vendor && strstr(vendor, "nouveau")) - perfLevel = Deformable; - #endif - -diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp -index dd6977e..43d549f 100644 ---- a/src/quick/scenegraph/qsgcontext.cpp -+++ b/src/quick/scenegraph/qsgcontext.cpp -@@ -624,14 +624,24 @@ void QSGRenderContext::initialize(QOpenGLContext *context) - m_sg->renderContextInitialized(this); - - #ifdef Q_OS_LINUX -+ while (funcs->glGetError() != GL_NO_ERROR); -+ - const char *vendor = (const char *) funcs->glGetString(GL_VENDOR); -- if (strstr(vendor, "nouveau")) -- m_brokenIBOs = true; - const char *renderer = (const char *) funcs->glGetString(GL_RENDERER); -- if (strstr(renderer, "llvmpipe")) -- m_serializedRender = true; -- if (strstr(vendor, "Hisilicon Technologies") && strstr(renderer, "Immersion.16")) -- m_brokenIBOs = true; -+ -+ if (vendor && renderer) { -+ if (strstr(vendor, "nouveau")) -+ m_brokenIBOs = true; -+ if (strstr(renderer, "llvmpipe")) -+ m_serializedRender = true; -+ if (strstr(vendor, "Hisilicon Technologies") && strstr(renderer, "Immersion.16")) -+ m_brokenIBOs = true; -+ } else { -+ GLenum err; -+ while ((err = funcs->glGetError()) != GL_NO_ERROR) { -+ qWarning("QSGRenderContext::initialize: GL error %x from glGetString", err); -+ } -+ } - #endif - - emit initialized(); -diff --git a/src/quick/scenegraph/qsgdefaultdistancefieldglyphcache.cpp b/src/quick/scenegraph/qsgdefaultdistancefieldglyphcache.cpp -index dcc485c..43e234b 100644 ---- a/src/quick/scenegraph/qsgdefaultdistancefieldglyphcache.cpp -+++ b/src/quick/scenegraph/qsgdefaultdistancefieldglyphcache.cpp -@@ -488,9 +488,11 @@ bool QSGDefaultDistanceFieldGlyphCache::useTextureUploadWorkaround() const - static bool set = false; - static bool useWorkaround = false; - if (!set) { -- useWorkaround = qstrcmp(reinterpret_cast(m_funcs->glGetString(GL_RENDERER)), -- "Mali-400 MP") == 0; -- set = true; -+ const char *renderer = reinterpret_cast(m_funcs->glGetString(GL_RENDERER)); -+ if (renderer) { -+ useWorkaround = qstrcmp(renderer, "Mali-400 MP") == 0; -+ set = true; -+ } - } - return useWorkaround; - } -diff --git a/src/quick/scenegraph/util/qsgatlastexture.cpp b/src/quick/scenegraph/util/qsgatlastexture.cpp -index 8e8e870..d726907 100644 ---- a/src/quick/scenegraph/util/qsgatlastexture.cpp -+++ b/src/quick/scenegraph/util/qsgatlastexture.cpp -@@ -150,13 +150,13 @@ Atlas::Atlas(const QSize &size) - wrongfullyReportsBgra8888Support = false; - - const char *ext = (const char *) QOpenGLContext::currentContext()->functions()->glGetString(GL_EXTENSIONS); -- if (!wrongfullyReportsBgra8888Support -+ if (!wrongfullyReportsBgra8888Support && ext - && (strstr(ext, "GL_EXT_bgra") - || strstr(ext, "GL_EXT_texture_format_BGRA8888") - || strstr(ext, "GL_IMG_texture_format_BGRA8888"))) { - m_internalFormat = m_externalFormat = GL_BGRA; - #ifdef Q_OS_IOS -- } else if (strstr(ext, "GL_APPLE_texture_format_BGRA8888")) { -+ } else if (ext && strstr(ext, "GL_APPLE_texture_format_BGRA8888")) { - m_internalFormat = GL_RGBA; - m_externalFormat = GL_BGRA; - #endif // IOS --- -1.9.3 - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..8f86cba --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +qt5-qtdeclarative is in RHEL 7 diff --git a/qt5-qtdeclarative.spec b/qt5-qtdeclarative.spec deleted file mode 100644 index d7a03d9..0000000 --- a/qt5-qtdeclarative.spec +++ /dev/null @@ -1,528 +0,0 @@ - -%global qt_module qtdeclarative - -# define to build docs, need to undef this for bootstrapping -# where qt5-qttools builds are not yet available -# only primary archs (for now), allow secondary to bootstrap -#global bootstrap 1 - -%if ! 0%{?bootstrap} -%ifarch %{arm} %{ix86} x86_64 -%global docs 1 -#global tests 1 -%endif -%endif - -%global nosse2_hack 1 -## TODO: -# * consider debian's approach of runtime detection instead: -# https://codereview.qt-project.org/#/c/127354/ - -#define prerelease - -Summary: Qt5 - QtDeclarative component -Name: qt5-%{qt_module} -Version: 5.6.1 -Release: 5%{?prerelease:.%{prerelease}}%{?dist} - -# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details -License: LGPLv2 with exceptions or GPLv3 with exceptions -Url: http://www.qt.io -Source0: http://download.qt.io/official_releases/qt/5.6/%{version}%{?prerelease:-%{prerelease}}/submodules/%{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}}.tar.xz - -# support no_sse2 CONFIG (fedora i686 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them) -# https://codereview.qt-project.org/#change,73710 -Patch1: qtdeclarative-opensource-src-5.5.0-no_sse2.patch - -# workaround for possible deadlock condition in QQuickShaderEffectSource -# https://bugzilla.redhat.com/show_bug.cgi?id=1237269 -# https://bugs.kde.org/show_bug.cgi?id=348385 -Patch2: qtdeclarative-QQuickShaderEffectSource_deadlock.patch - -## upstream patches -Patch7: 0007-Revert-Remove-this-piece-of-code.patch -Patch10: 0010-Fix-crash-for-unknown-QQmlListModel-roles-in-debug-b.patch -Patch11: 0011-Avoid-Canvas-crashes-with-qtquickcompiler.patch -Patch16: 0016-Fix-crash-with-SignalTransition.patch -Patch24: 0024-Revert-removal-of-Fixed-MouseArea-threshold-with-pre.patch -Patch27: 0027-Fix-crash-when-using-with-statement-with-an-expressi.patch -Patch33: 0033-QML-Only-release-types-if-they-aren-t-referenced-any.patch - -## upstreamable patches -# use system double-conversation -%if 0%{?fedora} || 0%{?rhel} > 6 -%global system_doubleconv 1 -BuildRequires: double-conversion-devel -%endif -Patch200: qtdeclarative-system_doubleconv.patch -# https://bugs.kde.org/show_bug.cgi?id=346118#c108 -Patch201: qtdeclarative-kdebug346118.patch -# additional i686/qml workaround (on top of existing patch135), https://bugzilla.redhat.com/1331593 -Patch235: qtdeclarative-opensource-src-5.6.0-qml_no-lifetime-dse.patch - -## upstream patches under review -# Check-for-NULL-from-glGetStrin -Patch500: Check-for-NULL-from-glGetString.patch - -Obsoletes: qt5-qtjsbackend < 5.2.0 - -BuildRequires: cmake -BuildRequires: qt5-qtbase-devel >= %{version} -BuildRequires: qt5-qtbase-private-devel -%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} -%if ! 0%{?bootstrap} -BuildRequires: qt5-qtxmlpatterns-devel -%endif -BuildRequires: python - -%if 0%{?tests} -BuildRequires: dbus-x11 -BuildRequires: mesa-dri-drivers -BuildRequires: time -BuildRequires: xorg-x11-server-Xvfb -%endif - - -%description -%{summary}. - -%package devel -Summary: Development files for %{name} -Obsoletes: qt5-qtjsbackend-devel < 5.2.0 -Provides: %{name}-private-devel = %{version}-%{release} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: qt5-qtbase-devel%{?_isa} -%description devel -%{summary}. - -%package static -Summary: Static library files for %{name} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -%description static -%{summary}. - -%if 0%{?docs} -%package doc -Summary: API documentation for %{name} -License: GFDL -Requires: %{name} = %{version}-%{release} -BuildRequires: qt5-qdoc -BuildRequires: qt5-qhelpgenerator -BuildArch: noarch -%description doc -%{summary}. -%endif - -%package examples -Summary: Programming examples for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -%description examples -%{summary}. - - -%prep -%setup -q -n %{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}} -%if 0%{?nosse2_hack} -%patch1 -p1 -b .no_sse2 -%endif -%patch2 -p1 -b .QQuickShaderEffectSource_deadlock - -%patch7 -p1 -b .0007 -%patch10 -p1 -b .0010 -%patch11 -p1 -b .0011 -%patch16 -p1 -b .0016 -%patch24 -p1 -b .0024 -%patch27 -p1 -b .0027 -%patch33 -p1 -b .0033 - -%if 0%{?system_doubleconv} -%patch200 -p1 -b .system_doubleconv -rm -rfv src/3rdparty/double-conversion -%endif -%patch201 -p0 -b .kdebug346118 -%patch235 -p1 -b .qml_no-lifetime-dse - -%patch500 -p1 -b .Check-for-NULL-from-glGetString - - -%build -mkdir %{_target_platform} -pushd %{_target_platform} -%{qmake_qt5} .. -popd - -make %{?_smp_mflags} -C %{_target_platform} - -%if 0%{?nosse2_hack} -# build libQt5Qml with no_sse2 -mkdir -p %{_target_platform}-no_sse2 -pushd %{_target_platform}-no_sse2 -%{qmake_qt5} -config no_sse2 .. -make sub-src-clean -make %{?_smp_mflags} -C src/qml -popd -%endif - -%if 0%{?docs} -make %{?_smp_mflags} docs -C %{_target_platform} -%endif - - -%install -make install INSTALL_ROOT=%{buildroot} -C %{_target_platform} - -%if 0%{?nosse2_hack} -mkdir -p %{buildroot}%{_qt5_libdir}/sse2 -mv %{buildroot}%{_qt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_qt5_libdir}/sse2/ -make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}-no_sse2/src/qml -%endif - -%if 0%{?docs} -make install_docs INSTALL_ROOT=%{buildroot} -C %{_target_platform} -%endif - -# hardlink files to %{_bindir}, add -qt5 postfix to not conflict -mkdir %{buildroot}%{_bindir} -pushd %{buildroot}%{_qt5_bindir} -for i in * ; do - case "${i}" in - # qt4 conflicts - qmlplugindump|qmlprofiler) - ln -v ${i} %{buildroot}%{_bindir}/${i}-qt5 - ln -sv ${i} ${i}-qt5 - ;; - # qtchooser stuff - qml|qmlbundle|qmlmin|qmlscene) - ln -v ${i} %{buildroot}%{_bindir}/${i} - ln -v ${i} %{buildroot}%{_bindir}/${i}-qt5 - ln -sv ${i} ${i}-qt5 - ;; - *) - ln -v ${i} %{buildroot}%{_bindir}/${i} - ;; - esac -done -popd - -## .prl/.la file love -# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs -pushd %{buildroot}%{_qt5_libdir} -for prl_file in libQt5*.prl ; do - sed -i \ - -e "/^QMAKE_PRL_BUILD_DIR/d" \ - -e "/-ldouble-conversion/d" \ - ${prl_file} - if [ -f "$(basename ${prl_file} .prl).so" ]; then - rm -fv "$(basename ${prl_file} .prl).la" - else - sed -i \ - -e "/^QMAKE_PRL_LIBS/d" \ - -e "/-ldouble-conversion/d" \ - $(basename ${prl_file} .prl).la - fi -done -popd - - -%check -test -z "$(grep double-conversion %{buildroot}%{_qt5_libdir}/*.{la,prl})" -%if 0%{?tests} -export CTEST_OUTPUT_ON_FAILURE=1 -export PATH=%{buildroot}%{_qt5_bindir}:$PATH -export LD_LIBRARY_PATH=%{buildroot}%{_qt5_libdir} -make sub-tests-all %{?_smp_mflags} -C %{_target_platform} -xvfb-run -a \ -dbus-launch --exit-with-session \ -time \ -make check -k -C %{_target_platform}/tests ||: -%endif - - -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig - -%files -%{!?_licensedir:%global license %%doc} -%license LICENSE.LGPL* LGPL_EXCEPTION.txt -%{_qt5_libdir}/libQt5Qml.so.5* -%if 0%{?nosse2_hack} -%{_qt5_libdir}/sse2/libQt5Qml.so.5* -%endif -%{_qt5_libdir}/libQt5Quick.so.5* -%{_qt5_libdir}/libQt5QuickWidgets.so.5* -%{_qt5_libdir}/libQt5QuickParticles.so.5* -%{_qt5_libdir}/libQt5QuickTest.so.5* -%{_qt5_plugindir}/qmltooling/ -%{_qt5_archdatadir}/qml/ -%dir %{_qt5_libdir}/cmake/Qt5Qml/ -%{_qt5_libdir}/cmake/Qt5Qml/Qt5Qml_*Factory.cmake - -%files devel -%{_bindir}/qml* -%{_qt5_bindir}/qml* -%{_qt5_headerdir}/Qt*/ -%{_qt5_libdir}/libQt5Qml.so -%{_qt5_libdir}/libQt5Qml.prl -%{_qt5_libdir}/libQt5Quick*.so -%{_qt5_libdir}/libQt5Quick*.prl -%dir %{_qt5_libdir}/cmake/Qt5Quick*/ -%{_qt5_libdir}/cmake/Qt5*/Qt5*Config*.cmake -%{_qt5_libdir}/pkgconfig/Qt5*.pc -%{_qt5_archdatadir}/mkspecs/modules/*.pri - -%files static -%{_qt5_libdir}/libQt5QmlDevTools.*a -%{_qt5_libdir}/libQt5QmlDevTools.prl - -%if 0%{?docs} -%files doc -%license LICENSE.FDL -%{_qt5_docdir}/qtqml.qch -%{_qt5_docdir}/qtqml/ -%{_qt5_docdir}/qtquick.qch -%{_qt5_docdir}/qtquick/ -%endif - -%files examples -%{_qt5_examplesdir}/ - - -%changelog -* Thu Jun 16 2016 Rex Dieter 5.6.1-5 -- backport 5.6 branch fixes - -* Wed Jun 15 2016 Rex Dieter - 5.6.1-4 -- drop pkgconfig-style Qt5 deps - -* Wed Jun 15 2016 Jan Grulich - 5.6.1-3 -- Apply no_sse2 hack to all architecturs to make qt5-qtdeclarative-devel multilib-clean - -* Fri Jun 10 2016 Rex Dieter - 5.6.1-2 -- strip double-conversion references from .la/.prl files - -* Thu Jun 09 2016 Jan Grulich - 5.6.1-1 -- Update to 5.6.1 - -* Thu Jun 02 2016 Rex Dieter - 5.6.0-12 -- pull in upstream qml/jsruntime workaround (ie, apply compiler workarounds only for src/qml/) - -* Tue May 31 2016 Rex Dieter - 5.6.0-11 -- include crasher workaround (#1259472,kde#346118) - -* Sat May 28 2016 Rex Dieter - 5.6.0-10 -- macro'ize no_sse2 hack (to make it easier to enable/disable) -- re-introduce -fno-delete-null-pointer-checks here (following upstream) -- add -fno-lifetime-dse too, helps fix i686/qml crasher (#1331593) -- disable tests (for now, not useful yet) - -* Fri May 20 2016 Rex Dieter - 5.6.0-9 -- Use system double-conversion (#1078524) - -* Thu May 19 2016 Rex Dieter - 5.6.0-8 -- -devel: don't own libQt5QuickWidgets.so.5 (#1337621) - -* Thu May 05 2016 Rex Dieter - 5.6.0-7 -- BR: mesa-dri-drivers (tests) - -* Thu May 05 2016 Rex Dieter - 5.6.0-6 -- drop local -fno-delete-null-pointer-checks hack, used in all Qt5 builds now -- add %%check - -* Sun Apr 17 2016 Rex Dieter - 5.6.0-5 -- BR: qt5-qtbase-private-devel, -devel: Provides: -private-devel - -* Fri Mar 25 2016 Rex Dieter - 5.6.0-4 -- backport upstream fixes -- drop -fno-delete-null-pointer-checks hack (included in qt5-rpm-macros as needed now) - -* Sat Mar 19 2016 Rex Dieter - 5.6.0-3 -- BR: cmake (cmake autoprovides) - -* Fri Mar 18 2016 Rex Dieter - 5.6.0-2 -- rebuild - -* Mon Mar 14 2016 Helio Chissini de Castro - 5.6.0-1 -- 5.6.0 final release - -* Tue Feb 23 2016 Helio Chissini de Castro - 5.6.0-0.11.rc -- Update to final RC - -* Mon Feb 22 2016 Helio Chissini de Castro - 5.6.0-0.10 -- Update RC tarball from git - -* Mon Feb 15 2016 Helio Chissini de Castro - 5.6.0-0.9 -- Update RC release - -* Tue Feb 02 2016 Rex Dieter 5.6.0-0.8.beta -- build with -fno-delete-null-pointer-checks to workaround gcc6-related runtime crashes (#1303643) - -* Thu Jan 28 2016 Rex Dieter 5.6.0-0.7.beta -- backport fix for older compilers (aka rhel6) - -* Sun Jan 17 2016 Rex Dieter 5.6.0-0.6.beta -- use %%license - -* Mon Dec 21 2015 Rex Dieter 5.6.0-0.5.beta -- fix Source URL, Release: tag - -* Mon Dec 21 2015 Helio Chissini de Castro - 5.6.0-0.4 -- Update to final beta release - -* Thu Dec 10 2015 Helio Chissini de Castro - 5.6.0-0.3 -- Official beta release - -* Sun Dec 06 2015 Rex Dieter 5.6.0-0.2 -- de-bootstrap - -* Tue Nov 03 2015 Helio Chissini de Castro - 5.6.0-0.1 -- Start to implement 5.6.0 beta, bootstrap - -* Sat Oct 24 2015 Rex Dieter 5.5.1-3 -- workaround QQuickShaderEffectSource::updatePaintNode deadlock (#1237269, kde#348385) - -* Thu Oct 15 2015 Helio Chissini de Castro - 5.5.1-2 -- Update to final release 5.5.1 - -* Tue Sep 29 2015 Helio Chissini de Castro - 5.5.1-1 -- Update to Qt 5.5.1 RC1 - -* Wed Jul 29 2015 Rex Dieter 5.5.0-3 -- -docs: BuildRequires: qt5-qhelpgenerator - -* Thu Jul 16 2015 Rex Dieter 5.5.0-2 -- tighten qtbase dep (#1233829), .spec cosmetics - -* Wed Jul 1 2015 Helio Chissini de Castro 5.5.0-1 -- New final upstream release Qt 5.5.0 - -* Mon Jun 29 2015 Helio Chissini de Castro - 5.5.0-0.4.rc -- Second round of builds now with bootstrap enabled due new qttools - -* Sat Jun 27 2015 Helio Chissini de Castro - 5.5.0-0.3.rc -- Disable bootstrap - -* Wed Jun 24 2015 Helio Chissini de Castro - 5.5.0-0.2.rc -- Update for official RC1 released packages - -* Mon Jun 08 2015 Rex Dieter 5.4.2-2 -- restore fix for QTBUG-45753/kde-345544 lost in 5.4.2 rebase - -* Wed Jun 03 2015 Jan Grulich 5.4.2-1 -- 5.4.2 - -* Sat May 02 2015 Rex Dieter 5.4.1-4 -- pull in some upstream fixes, for QTBUG-45753/kde-345544 in particular - -* Wed Apr 22 2015 Kevin Kofler - 5.4.1-3 -- fix non-sse2 support (kde#346244) and optimize sse2 binaries - -* Fri Feb 27 2015 Rex Dieter - 5.4.1-2 -- rebuild (gcc5) - -* Tue Feb 24 2015 Jan Grulich 5.4.1-1 -- 5.4.1 - -* Mon Feb 16 2015 Rex Dieter 5.4.0-3 -- rebuild (gcc) - -* Sat Feb 14 2015 Ville Skyttä - 5.4.0-2 -- Fix cmake dir ownerhips - -* Wed Dec 10 2014 Rex Dieter 5.4.0-1 -- 5.4.0 (final) - -* Fri Nov 28 2014 Rex Dieter 5.4.0-0.3.rc -- 5.4.0-rc - -* Mon Nov 03 2014 Rex Dieter 5.4.0-0.2.beta -- use new %%qmake_qt5 macro - -* Sat Oct 18 2014 Rex Dieter - 5.4.0-0.1.beta -- 5.4.0-beta -- %%ix84: drop sse2-optimized bits, need to rethink if/how to support it now - -* Tue Sep 16 2014 Rex Dieter 5.3.2-1 -- 5.3.2 - -* Tue Sep 16 2014 Rex Dieter 5.3.1-3 -- -qt5 wrappers for qml qmlbundle qmlmin qmlscene - -* Sun Aug 17 2014 Fedora Release Engineering - 5.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Tue Jun 17 2014 Jan Grulich - 5.3.1-1 -- 5.3.1 - -* Sun Jun 08 2014 Fedora Release Engineering - 5.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed May 21 2014 Jan Grulich 5.3.0-1 -- 5.3.0 - -* Wed Feb 05 2014 Rex Dieter 5.2.1-1 -- 5.2.1 - -* Sun Feb 02 2014 Marcin Juszkiewicz 5.2.0-6 -- Add AArch64 support (RHBUG: 1040452, QTBUG-35528) - -* Mon Jan 27 2014 Rex Dieter 5.2.0-5 -- build -examples only if supported - -* Sun Jan 26 2014 Rex Dieter 5.2.0-4 -- -examples subpkg - -* Tue Jan 14 2014 Rex Dieter 5.2.0-3 -- epel7 bootstrapped - -* Mon Jan 06 2014 Rex Dieter 5.2.0-2 -- BR: qt5-qtxmlpatterns-devel (#1048558) - -* Thu Dec 12 2013 Rex Dieter 5.2.0-1 -- 5.2.0 - -* Tue Dec 10 2013 Rex Dieter - 5.2.0-0.12.rc1 -- support out-of-src-tree builds -- %%ix86: install sse2/jit version to %%_qt5_libdir/sse2/ - -* Thu Dec 05 2013 Rex Dieter 5.2.0-0.11.rc1 -- %%ix86: cannot assume sse2 (and related support) or the JIT that requires it... disable. - -* Mon Dec 02 2013 Rex Dieter 5.2.0-0.10.rc1 -- 5.2.0-rc1 - -* Mon Nov 25 2013 Rex Dieter 5.2.0-0.5.beta1 -- enable -doc only on primary archs (allow secondary bootstrap) - -* Sat Nov 09 2013 Rex Dieter 5.2.0-0.4.beta1 -- rebuild (arm/qreal) - -* Thu Oct 24 2013 Rex Dieter 5.2.0-0.3.beta1 -- 5.2.0-beta1 - -* Wed Oct 16 2013 Rex Dieter 5.2.0-0.2.alpha -- bootstrap ppc - -* Tue Oct 01 2013 Rex Dieter 5.2.0-0.1.alpha -- 5.2.0-alpha -- Obsoletes: qt5-qtjsbackend -- -doc subpkg - -* Wed Aug 28 2013 Rex Dieter 5.1.1-1 -- 5.1.1 - -* Tue Aug 20 2013 Rex Dieter 5.0.2-4 -- qt5-qtjsbackend only supports ix86, x86_64 and arm - -* Tue May 14 2013 Rex Dieter 5.0.2-3 -- fix qmlprofiler conflict with qt-creator - -* Fri Apr 12 2013 Rex Dieter 5.0.2-2 -- fix qmlplugindump conflict with qt4-devel -- include license files, dist/changes* - -* Thu Apr 11 2013 Rex Dieter 5.0.2-1 -- 5.0.2 - -* Sat Feb 23 2013 Rex Dieter 5.0.1-1 -- first try - diff --git a/qtdeclarative-QQuickShaderEffectSource_deadlock.patch b/qtdeclarative-QQuickShaderEffectSource_deadlock.patch deleted file mode 100644 index ce3660c..0000000 --- a/qtdeclarative-QQuickShaderEffectSource_deadlock.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickshadereffectsource.cpp 2015-06-30 07:30:51.938794778 +0200 -+++ qtdeclarative-opensource-src-5.4.2/src/quick/items/qquickshadereffectsource.cpp.orig 2015-06-30 07:29:47.019163937 +0200 -@@ -632,8 +632,12 @@ - - const QSize minTextureSize = d->sceneGraphContext()->minimumFBOSize(); - // Keep power-of-two by doubling the size. -+ if (textureSize.width() < 1) -+ textureSize.rwidth() = 1; - while (textureSize.width() < minTextureSize.width()) - textureSize.rwidth() *= 2; -+ if (textureSize.height() < 1) -+ textureSize.rheight() = 1; - while (textureSize.height() < minTextureSize.height()) - textureSize.rheight() *= 2; - diff --git a/qtdeclarative-c++11.patch b/qtdeclarative-c++11.patch deleted file mode 100644 index b218601..0000000 --- a/qtdeclarative-c++11.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 187a5b0c6e74e0109e4ec257104428a3c87fb52f Mon Sep 17 00:00:00 2001 -From: Marco Benelli -Date: Wed, 27 Jan 2016 09:18:02 +0100 -Subject: [PATCH] qmlimportscanner: do not use local predicates. - -Some (?) pre C++11 compilers are not able to resolve template arguments -for std::find_if when the predicates are local to the function. - -Change-Id: I1e5c4adc3409bd32081ddedff158ab9dcc2eaa9a -Reviewed-by: Simon Hausmann ---- - tools/qmlimportscanner/main.cpp | 31 ++++++++++++++++++------------- - 1 file changed, 18 insertions(+), 13 deletions(-) - -diff --git a/tools/qmlimportscanner/main.cpp b/tools/qmlimportscanner/main.cpp -index b16253a..189459f 100644 ---- a/tools/qmlimportscanner/main.cpp -+++ b/tools/qmlimportscanner/main.cpp -@@ -344,6 +344,24 @@ QVariantList mergeImports(const QVariantList &a, const QVariantList &b) - return merged; - } - -+// Predicates needed by findQmlImportsInDirectory. -+ -+struct isMetainfo { -+ bool operator() (const QFileInfo &x) const { -+ return x.suffix() == QLatin1String("metainfo"); -+ } -+}; -+ -+struct pathStartsWith { -+ pathStartsWith(const QString &path) : _path(path) {} -+ bool operator() (const QString &x) const { -+ return _path.startsWith(x); -+ } -+ const QString _path; -+}; -+ -+ -+ - // Scan all qml files in directory for import statements - QVariantList findQmlImportsInDirectory(const QString &qmlDir) - { -@@ -353,19 +371,6 @@ QVariantList findQmlImportsInDirectory(const QString &qmlDir) - - QDirIterator iterator(qmlDir, QDir::AllDirs | QDir::NoDotDot, QDirIterator::Subdirectories); - QStringList blacklist; -- struct isMetainfo { -- bool operator() (const QFileInfo &x) const { -- return x.suffix() == QLatin1String("metainfo"); -- } -- }; -- struct pathStartsWith { -- pathStartsWith(const QString &path) : _path(path) {} -- bool operator() (const QString &x) const { -- return _path.startsWith(x); -- } -- const QString _path; -- }; -- - - while (iterator.hasNext()) { - iterator.next(); --- -1.9.3 - diff --git a/qtdeclarative-kdebug346118.patch b/qtdeclarative-kdebug346118.patch deleted file mode 100644 index b131b10..0000000 --- a/qtdeclarative-kdebug346118.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- src/qml/util/qqmladaptormodel.cpp.orig 2016-05-27 17:06:31.192332166 -0300 -+++ src/qml/util/qqmladaptormodel.cpp 2016-05-27 18:37:27.764552053 -0300 -@@ -163,8 +163,14 @@ public: - signalIndexes.append(propertyId + signalOffset); - } - -- for (int i = 0, c = items.count(); i < c; ++i) { -- QQmlDelegateModelItem *item = items.at(i); -+ const QList copy = items; -+ for (int i = 0, c = copy.count(); i < c; ++i) { -+ // Applying the same logic used in QQmlDelegateModel::_q_itemsRemoved(). -+ QQmlDelegateModelItem *item = copy.at(i); -+ if (!items.contains(item)) { -+ continue; -+ } -+ - const int idx = item->modelIndex(); - if (idx >= index && idx < index + count) { - for (int i = 0; i < signalIndexes.count(); ++i) diff --git a/qtdeclarative-opensource-src-5.5.0-no_sse2.patch b/qtdeclarative-opensource-src-5.5.0-no_sse2.patch deleted file mode 100644 index c419395..0000000 --- a/qtdeclarative-opensource-src-5.5.0-no_sse2.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri.no_sse2 qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri ---- qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri.no_sse2 2015-06-29 15:12:38.000000000 -0500 -+++ qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/jsruntime.pri 2015-07-16 08:49:00.280760307 -0500 -@@ -111,6 +111,11 @@ SOURCES += \ - $$PWD/qv4string.cpp \ - $$PWD/qv4value.cpp - -+linux-g++*:isEqual(QT_ARCH,i386):!no_sse2 { -+ QMAKE_CFLAGS += -msse2 -mfpmath=sse -+ QMAKE_CXXFLAGS += -msse2 -mfpmath=sse -+} -+ - valgrind { - DEFINES += V4_USE_VALGRIND - } -diff -up qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h.no_sse2 qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h ---- qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h.no_sse2 2015-06-29 15:12:38.000000000 -0500 -+++ qtdeclarative-opensource-src-5.5.0/src/qml/jsruntime/qv4global_p.h 2015-07-16 08:49:00.280760307 -0500 -@@ -74,7 +74,7 @@ inline double trunc(double d) { return d - // - // NOTE: This should match the logic in qv4targetplatform_p.h! - --#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) \ -+#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) && defined(__SSE2__) \ - && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD)) - #define V4_ENABLE_JIT - #elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__) \ -diff -up qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp.no_sse2 qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp ---- qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp.no_sse2 2015-06-29 15:12:39.000000000 -0500 -+++ qtdeclarative-opensource-src-5.5.0/src/qml/qml/v8/qv8engine.cpp 2015-07-16 08:49:00.280760307 -0500 -@@ -123,7 +123,7 @@ QV8Engine::QV8Engine(QJSEngine* qq) - , m_xmlHttpRequestData(0) - , m_listModelData(0) - { --#ifdef Q_PROCESSOR_X86_32 -+#if defined(Q_PROCESSOR_X86_32) && defined(__SSE2__) - if (!qCpuHasFeature(SSE2)) { - qFatal("This program requires an X86 processor that supports SSE2 extension, at least a Pentium 4 or newer"); - } diff --git a/qtdeclarative-opensource-src-5.6.0-qml_no-lifetime-dse.patch b/qtdeclarative-opensource-src-5.6.0-qml_no-lifetime-dse.patch deleted file mode 100644 index eaf677e..0000000 --- a/qtdeclarative-opensource-src-5.6.0-qml_no-lifetime-dse.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro.1135 qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro ---- qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro.1135 2016-06-02 08:43:24.509068141 -0500 -+++ qtdeclarative-opensource-src-5.6.0/src/qml/qml.pro 2016-06-02 10:25:28.813766581 -0500 -@@ -21,7 +21,7 @@ exists("qqml_enable_gcov") { - - greaterThan(QT_GCC_MAJOR_VERSION, 5) { - # Our code is bad. Temporary workaround. -- QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -+ QMAKE_CXXFLAGS += -fno-delete-null-pointer-checks -fno-lifetime-dse - } - - QMAKE_DOCS = $$PWD/doc/qtqml.qdocconf diff --git a/qtdeclarative-system_doubleconv.patch b/qtdeclarative-system_doubleconv.patch deleted file mode 100644 index beb0be7..0000000 --- a/qtdeclarative-system_doubleconv.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/jsruntime.pri.system_doubleconv qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/jsruntime.pri ---- qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/jsruntime.pri.system_doubleconv 2016-05-20 08:25:07.986878324 -0500 -+++ qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/jsruntime.pri 2016-05-20 11:21:05.059471545 -0500 -@@ -118,4 +118,5 @@ valgrind { - - ios: DEFINES += ENABLE_ASSEMBLER_WX_EXCLUSIVE=1 - --include(../../3rdparty/double-conversion/double-conversion.pri) -+INCLUDEPATH += /usr/include/double-conversion -+LIBS_PRIVATE += -ldouble-conversion -diff -up qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/qv4runtime.cpp.system_doubleconv qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/qv4runtime.cpp ---- qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/qv4runtime.cpp.system_doubleconv 2016-02-26 03:34:34.000000000 -0600 -+++ qtdeclarative-opensource-src-5.6.0/src/qml/jsruntime/qv4runtime.cpp 2016-05-20 11:22:00.603641534 -0500 -@@ -60,7 +60,7 @@ - - #include - --#include "../../3rdparty/double-conversion/double-conversion.h" -+#include - - #ifdef QV4_COUNT_RUNTIME_FUNCTIONS - # include diff --git a/sources b/sources deleted file mode 100644 index 1c8b142..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -ea2a2602b8a91f2618a36be09bcd79e9 qtdeclarative-opensource-src-5.6.1.tar.xz