aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-06-17 13:39:34 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-06-17 13:39:34 +0200
commitd6dfba4428c3ac626e2b12312cb25901c75c1ea5 (patch)
tree63a7322a3779ab35ce1a0d4844b8d3454b5126b0
parent0a9fb6ce3a0c04a01081f576776290cfa0cb8e29 (diff)
parent722caf22ad321166a6a212c74e96b5e7730c2553 (diff)
Merge remote-tracking branch 'origin/5.12.9' into 5.12
-rw-r--r--dist/changes-5.12.946
-rw-r--r--src/qml/qml/qqmlcontext.cpp7
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();