Accepting request 711180 from KDE:Qt:5.13

Qt 5.13.0

OBS-URL: https://build.opensuse.org/request/show/711180
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtdeclarative?expand=0&rev=54
This commit is contained in:
Dominique Leuenberger 2019-06-28 14:27:53 +00:00 committed by Git OBS Bridge
parent 00ede578e9
commit 40db8e0711
6 changed files with 63 additions and 105 deletions

View File

@ -1,82 +0,0 @@
From ea74f0c68cddf706c950d3910cf7b363fe24885b Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@qt.io>
Date: Wed, 17 Apr 2019 12:35:42 +0200
Subject: [PATCH] Don't crash when accessing invalid properties through
QObjectWrapper
Change-Id: I613bf5dc685bb4235262b429d8f7318ea144fb9d
Fixes: QTBUG-75203
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
---
src/qml/jsruntime/qv4qobjectwrapper.cpp | 2 +-
.../undefinedPropertiesInObjectWrapper.qml | 20 +++++++++++++++++++
.../qml/qqmlecmascript/tst_qqmlecmascript.cpp | 10 ++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 tests/auto/qml/qqmlecmascript/data/undefinedPropertiesInObjectWrapper.qml
Index: qtdeclarative-everywhere-src-5.12.3/src/qml/jsruntime/qv4qobjectwrapper.cpp
===================================================================
--- qtdeclarative-everywhere-src-5.12.3.orig/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ qtdeclarative-everywhere-src-5.12.3/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -856,7 +856,7 @@ ReturnedValue QObjectWrapper::virtualRes
if (!ddata || !ddata->propertyCache) {
QQmlPropertyData local;
QQmlPropertyData *property = QQmlPropertyCache::property(engine->jsEngine(), qobj, name, qmlContext, local);
- return getProperty(engine, qobj, property);
+ return property ? getProperty(engine, qobj, property) : QV4::Encode::undefined();
}
QQmlPropertyData *property = ddata->propertyCache->property(name.getPointer(), qobj, qmlContext);
Index: qtdeclarative-everywhere-src-5.12.3/tests/auto/qml/qqmlecmascript/data/undefinedPropertiesInObjectWrapper.qml
===================================================================
--- /dev/null
+++ qtdeclarative-everywhere-src-5.12.3/tests/auto/qml/qqmlecmascript/data/undefinedPropertiesInObjectWrapper.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.12
+
+QtObject {
+ property list<QtObject> entries: [
+ QtObject {
+ readonly property color color: "green"
+ },
+ QtObject {
+ }
+ ]
+
+ property Row row: Row {
+ Repeater {
+ model: entries
+ Rectangle {
+ color: model.color ? model.color : "red"
+ }
+ }
+ }
+}
Index: qtdeclarative-everywhere-src-5.12.3/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
===================================================================
--- qtdeclarative-everywhere-src-5.12.3.orig/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
+++ qtdeclarative-everywhere-src-5.12.3/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
@@ -366,6 +366,7 @@ private slots:
void tailCallWithArguments();
void deleteSparseInIteration();
void saveAccumulatorBeforeToInt32();
+ void undefinedPropertiesInObjectWrapper();
private:
// static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter);
@@ -8941,6 +8942,15 @@ void tst_qqmlecmascript::saveAccumulator
QCOMPARE(value.toString(), QLatin1String("RangeError: Maximum call stack size exceeded."));
}
+void tst_qqmlecmascript::undefinedPropertiesInObjectWrapper()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine, testFile("undefinedPropertiesInObjectWrapper.qml"));
+ QVERIFY(component.isReady());
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY(!object.isNull());
+}
+
QTEST_MAIN(tst_qqmlecmascript)
#include "tst_qqmlecmascript.moc"

View File

@ -1,9 +1,40 @@
-------------------------------------------------------------------
Wed Jun 19 11:19:49 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0:
* New bugfix release
* No changelog available
* For more details about Qt 5.13 please see:
* http://code.qt.io/cgit/qt/qtdeclarative.git/plain/dist/changes-5.13.0/?h=5.13
-------------------------------------------------------------------
Thu Jun 6 08:51:50 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
- Remove patches, upstream in 5.13:
* Dont-crash-when-accessing-invalid-properties.patch
-------------------------------------------------------------------
Tue Jun 4 14:50:38 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to fix crash (QTBUG-75203):
* Dont-crash-when-accessing-invalid-properties.patch
-------------------------------------------------------------------
Tue Jun 4 07:24:25 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0-rc:
* New bugfix release
* No changelog available
- Remove patches, now upstream:
* Dont-crash-when-accessing-invalid-properties.patch
-------------------------------------------------------------------
Mon Apr 29 09:16:17 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0-beta2:
* New bugfix release
* No changelog available
-------------------------------------------------------------------
Thu Apr 18 07:26:48 UTC 2019 - fabian@ritter-vogt.de
@ -12,6 +43,15 @@ Thu Apr 18 07:26:48 UTC 2019 - fabian@ritter-vogt.de
* For more details please see:
* http://code.qt.io/cgit/qt/qtdeclarative.git/plain/dist/changes-5.12.3/?h=v5.12.3
-------------------------------------------------------------------
Thu Mar 21 10:24:50 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0-beta1:
* New feature release
* For more details about Qt 5.13 please see:
* http://code.qt.io/cgit/qt/qtdeclarative.git/plain/dist/changes-5.13.0/?h=5.13
- Refresh sse2_nojit.patch
-------------------------------------------------------------------
Thu Mar 14 08:48:03 UTC 2019 - fabian@ritter-vogt.de
@ -842,3 +882,4 @@ Fri Apr 13 13:22:38 UTC 2012 - stephan.binner@basyskom.com
Thu Apr 5 09:56:15 UTC 2012 - dmueller@suse.com
- Initial packaging (Qt 5.0 Alpha)

View File

@ -21,20 +21,18 @@
%define libname libQtQuick5
Name: libqt5-qtdeclarative
Version: 5.12.3
Version: 5.13.0
Release: 0
Summary: Qt 5 Declarative Library
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
Group: Development/Libraries/X11
Url: https://www.qt.io
%define base_name libqt5
%define real_version 5.12.3
%define so_version 5.12.3
%define tar_version qtdeclarative-everywhere-src-5.12.3
Source: https://download.qt.io/official_releases/qt/5.12/%{real_version}/submodules/%{tar_version}.tar.xz
%define real_version 5.13.0
%define so_version 5.13.0
%define tar_version qtdeclarative-everywhere-src-5.13.0
Source: https://download.qt.io/official_releases/qt/5.13/%{real_version}/submodules/%{tar_version}.tar.xz
Source1: baselibs.conf
# PATCH-FIX-UPSTREAM
Patch1: Dont-crash-when-accessing-invalid-properties.patch
# PATCH-FIX-OPENSUSE sse2_nojit.patch -- enable JIT and sse2 only on sse2 case
Patch100: sse2_nojit.patch
# PATCH-FIX-OPENSUSE Switch to use python3 at build time
@ -70,7 +68,8 @@ This package contains base tools, like string, xml, and network
handling.
%prep
%autosetup -p1 -n %{tar_version}
%setup -q -n %{tar_version}
%autopatch -p1
%package -n %libname
Summary: Qt 5 Declarative Library

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:839881cd6996e35c351bc7d560372ebb91e61f3688957c33248c4f31ea007fa7
size 20513544

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9e8780aef0af4a60e64dcc405bdf5c03a04b28e3b94d5c2e69d0006db566ba9
size 20514784

View File

@ -1,10 +1,10 @@
Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/jsruntime/jsruntime.pri
Index: qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/jsruntime.pri
===================================================================
--- qtdeclarative-everywhere-src-5.12.0-alpha.orig/src/qml/jsruntime/jsruntime.pri
+++ qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/jsruntime/jsruntime.pri
@@ -154,6 +154,11 @@ SOURCES += \
$$PWD/qv4value.cpp \
$$PWD/qv4executableallocator.cpp
--- qtdeclarative-everywhere-src-5.13.0-beta1.orig/src/qml/jsruntime/jsruntime.pri
+++ qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/jsruntime.pri
@@ -174,6 +174,11 @@ qmldevtools_build {
}
+linux-g++*:isEqual(QT_ARCH,i386):!no_sse2 {
+ QMAKE_CFLAGS += -msse2 -mfpmath=sse
@ -14,10 +14,10 @@ Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/jsruntime/jsruntime.pri
valgrind {
DEFINES += V4_USE_VALGRIND
}
Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/jsruntime/qv4global_p.h
Index: qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/qv4global_p.h
===================================================================
--- qtdeclarative-everywhere-src-5.12.0-alpha.orig/src/qml/jsruntime/qv4global_p.h
+++ qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/jsruntime/qv4global_p.h
--- qtdeclarative-everywhere-src-5.13.0-beta1.orig/src/qml/jsruntime/qv4global_p.h
+++ qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/jsruntime/qv4global_p.h
@@ -115,7 +115,7 @@ inline double trunc(double d) { return d
// Black list some platforms
@ -27,10 +27,10 @@ Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/jsruntime/qv4global_p.h
# undef V4_ENABLE_JIT
#endif
#endif
Index: qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/qml/v8/qv8engine.cpp
Index: qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/qml/v8/qv8engine.cpp
===================================================================
--- qtdeclarative-everywhere-src-5.12.0-alpha.orig/src/qml/qml/v8/qv8engine.cpp
+++ qtdeclarative-everywhere-src-5.12.0-alpha/src/qml/qml/v8/qv8engine.cpp
--- qtdeclarative-everywhere-src-5.13.0-beta1.orig/src/qml/qml/v8/qv8engine.cpp
+++ qtdeclarative-everywhere-src-5.13.0-beta1/src/qml/qml/v8/qv8engine.cpp
@@ -141,7 +141,7 @@ QV8Engine::QV8Engine(QV4::ExecutionEngin
#ifndef Q_OS_WASM // wasm does not have working simd QTBUG-63924
#ifdef Q_PROCESSOR_X86_32