author | Antonio Rojas
<arojas@archlinux.org> 2019-05-18 17:47:02 UTC |
committer | Antonio Rojas
<arojas@archlinux.org> 2019-05-18 17:47:02 UTC |
parent | bfebe0611d4ab2f68539b9dfb67d9317b39cb711 |
PKGBUILD | +8 | -3 |
qtbug-75203.patch | +28 | -0 |
diff --git a/PKGBUILD b/PKGBUILD index 6af2ad9..b838ffe 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,7 +4,7 @@ pkgname=qt5-declarative _qtver=5.12.3 pkgver=${_qtver/-/} -pkgrel=1 +pkgrel=2 arch=('x86_64') url='https://www.qt.io' license=('GPL3' 'LGPL3' 'FDL' 'custom') @@ -14,11 +14,16 @@ makedepends=('python') groups=('qt' 'qt5') conflicts=('qtchooser') _pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" -source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz") -sha256sums=('839881cd6996e35c351bc7d560372ebb91e61f3688957c33248c4f31ea007fa7') +source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" + qtbug-75203.patch) +sha256sums=('839881cd6996e35c351bc7d560372ebb91e61f3688957c33248c4f31ea007fa7' + '458d8d4e5f2d96b4c1cb78937140ceaf966b57213fdbe84d0df33d5a41508028') prepare() { mkdir -p build + + cd $_pkgfqn + patch -p1 -i ../qtbug-75203.patch # Fix crash in SDDM Breeze theme } build() { diff --git a/qtbug-75203.patch b/qtbug-75203.patch new file mode 100644 index 0000000..d4f98be --- /dev/null +++ b/qtbug-75203.patch @@ -0,0 +1,28 @@ +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: 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 +- + .../data/undefinedPropertiesInObjectWrapper.qml | 20 ++++++++++++++++++++ + tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 10 ++++++++++ + 3 files changed, 31 insertions(+), 1 deletion(-) + create mode 100644 tests/auto/qml/qqmlecmascript/data/undefinedPropertiesInObjectWrapper.qml + +diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp +index 377c30617..5467e730e 100644 +--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp ++++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp +@@ -856,7 +856,7 @@ ReturnedValue QObjectWrapper::virtualResolveLookupGetter(const Object *object, E + 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); +