diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-06-17 13:39:34 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-06-17 13:39:34 +0200 |
commit | d6dfba4428c3ac626e2b12312cb25901c75c1ea5 (patch) | |
tree | 63a7322a3779ab35ce1a0d4844b8d3454b5126b0 | |
parent | 0a9fb6ce3a0c04a01081f576776290cfa0cb8e29 (diff) | |
parent | 722caf22ad321166a6a212c74e96b5e7730c2553 (diff) |
Merge remote-tracking branch 'origin/5.12.9' into 5.12
Change-Id: I5b08aa9b496a02268f0ac1ee264c839e6c65d412
-rw-r--r-- | dist/changes-5.12.9 | 46 | ||||
-rw-r--r-- | src/qml/qml/qqmlcontext.cpp | 7 |
2 files changed, 50 insertions, 3 deletions
diff --git a/dist/changes-5.12.9 b/dist/changes-5.12.9 new file mode 100644 index 0000000000..7c705e8fc9 --- /dev/null +++ b/dist/changes-5.12.9 @@ -0,0 +1,46 @@ +Qt 5.12.9 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.12.0 through 5.12.8. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qt-5/index.html + +The Qt version 5.12 series is binary compatible with the 5.11.x series. +Applications compiled for 5.11 will continue to run with 5.12. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* QtQml * +**************************************************************************** + + - [Coverity 175402] Refactored some code so that Coverity and future human + readers can understand it. + - [Coverity 190701] Standardized QV4_SHOW_BYTECODE output for JS classes. + - [Coverity 193545] Fixed a dangling pointer dereference when getting + QML property values from dynamic accessors. + - [QTBUG-81581][QTBUG-83384] Fixed various crashes related to the JavaScript + accumulator register. + - JavaScript's isSafeInteger() covers a sensible range now. Before it + flagged anything greater than 55 as unsafe. + - [QTBUG-84095] Fixed a crash on QML context destruction. + +**************************************************************************** +* QtQuick * +**************************************************************************** + + - [Coverity 218729] If setting a new root item on QQuickView fails, the + old one is no longer deleted. + - [QTBUG-73929][QTBUG-82474] Fixed a crash by releasing resources while + closing a window. + - [QTBUG-40220][QTBUG-83856] Recursive loops caused by items that call + polish() within updatePolish() are now detected and terminated earlier. + - [QTBUG-55879][QTBUG-79339] Fixed QQuickItem::grabToImage() with + QQuickWidget and QQuickRenderControl. diff --git a/src/qml/qml/qqmlcontext.cpp b/src/qml/qml/qqmlcontext.cpp index 3710cee162..66ba6fdaf3 100644 --- a/src/qml/qml/qqmlcontext.cpp +++ b/src/qml/qml/qqmlcontext.cpp @@ -51,6 +51,7 @@ #include <qjsengine.h> #include <QtCore/qvarlengtharray.h> #include <private/qmetaobject_p.h> +#include <QtQml/private/qqmlcontext_p.h> #include <QtCore/qdebug.h> QT_BEGIN_NAMESPACE @@ -562,8 +563,8 @@ void QQmlContextData::emitDestruction() emit a->destruction(); } - QQmlContextData * child = childContexts; - while (child) { + QQmlContextDataRef child = childContexts; + while (!child.isNull()) { child->emitDestruction(); child = child->nextChild; } @@ -625,12 +626,12 @@ void QQmlContextData::clearContext() void QQmlContextData::destroy() { Q_ASSERT(refCount == 0); - linkedContext = nullptr; // avoid recursion ++refCount; if (engine) invalidate(); + linkedContext = nullptr; Q_ASSERT(refCount == 1); clearContext(); |