pull in upstream crash fix (QTBUG-46263)

This commit is contained in:
Rex Dieter 2017-04-11 06:22:01 -05:00
parent 9087a6831b
commit b5d9e92abf
2 changed files with 42 additions and 1 deletions

View File

@ -0,0 +1,35 @@
From 4d375f3f2b95bfcb322402df3525db6cc7a723ce Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@digia.com>
Date: Tue, 4 Oct 2016 11:42:10 +0200
Subject: [PATCH 26/82] QML: Clear weak references on Object destruction for
C++-owned QObjects
Otherwise a re-use of the C++-owned QObject will have a back reference
to a possibly GCed QV4::QObjectWrapper, which results in exciting
behavior.
Task-number: QTBUG-46263
Change-Id: Iff0e36f9e67c01abd02cfb5a89605d0f26ddb0de
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
---
src/qml/jsruntime/qv4qobjectwrapper.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp
index 246df4c..77de84b 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -1042,6 +1042,10 @@ void QObjectWrapper::destroyObject(bool lastCall)
delete h->object;
else
h->object->deleteLater();
+ } else {
+ // If the object is C++-owned, we still have to release the weak reference we have
+ // to it.
+ ddata->jsWrapper.clear();
}
}
}
--
2.9.3

View File

@ -23,7 +23,7 @@
Summary: Qt5 - QtDeclarative component
Name: qt5-%{qt_module}
Version: 5.6.2
Release: 1%{?dist}
Release: 2%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
License: LGPLv2 with exceptions or GPLv3 with exceptions
@ -40,6 +40,9 @@ Patch1: qtdeclarative-opensource-src-5.5.0-no_sse2.patch
Patch2: qtdeclarative-QQuickShaderEffectSource_deadlock.patch
## upstream patches
# https://bugreports.qt.io/browse/QTBUG-46263
# http://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4d375f3f2b95bfcb322402df3525db6cc7a723ce
Patch26: 0026-QML-Clear-weak-references-on-Object-destruction-for-.patch
## upstreamable patches
# use system double-conversation
@ -269,6 +272,9 @@ make check -k -C %{_target_platform}/tests ||:
%changelog
* Tue Apr 11 2017 Rex Dieter <rdieter@fedoraproject.org> - 5.6.2-2
- pull in upstream crash fix (QTBUG-46263)
* Wed Nov 02 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.2-1
- 5.6.2