aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-10-06 19:27:27 +0200
committerLiang Qi <liang.qi@qt.io>2017-10-06 19:30:25 +0200
commit0af2998cc99e90e3df34f794801340d8a769c735 (patch)
tree61e40f82c8ebf6e843f691c085644aa65180247d
parentf07f1e399d5e13671f2f2ef4c55b1e6a1bc37e3b (diff)
parent32218c3243fb4f0da83293c5bd6a663d8e3660ee (diff)
Merge remote-tracking branch 'origin/5.9.2' into 5.9
-rw-r--r--dist/changes-5.9.286
-rw-r--r--src/qml/compiler/qqmltypecompiler.cpp2
-rw-r--r--src/qml/qml/qqmltypeloader_p.h4
-rw-r--r--src/quickwidgets/qquickwidget.cpp6
4 files changed, 93 insertions, 5 deletions
diff --git a/dist/changes-5.9.2 b/dist/changes-5.9.2
new file mode 100644
index 0000000000..fee64f2dea
--- /dev/null
+++ b/dist/changes-5.9.2
@@ -0,0 +1,86 @@
+Qt 5.9.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.9.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.9 series is binary compatible with the 5.8.x series.
+Applications compiled for 5.8 will continue to run with 5.9.
+
+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.
+
+****************************************************************************
+* Qt 5.9.2 Changes *
+****************************************************************************
+
+Qml
+---
+
+ - Fix loading of static qml plugins using the old plugin interface id
+ - [QTBUG-62243] Fixed bug where sometimes changes to a qml singleton
+ would not propagate to the users or cause crashes
+ - [QTBUG-59256] Fix possible use-after-free when removing items from a
+ ListModel through JavaScript
+ - [QTBUG-61552] Fix crash due to misaligned data structures on ARMv7
+ - [QTBUG-61681] Fix crash if QObject instances are passed between QQmlEngine
+ instances
+ - [QTBUG-59704] Fix crashes with objects retrieved via ListModel.get() upon
+ destruction
+ - [QTBUG-61536] Fix memory leaks when clearing/trimming component caches
+ - [QTBUG-62978] Fix race conditions in QML profiler
+ - [QTBUG-61781] Fix crashes with closures created in QML components that outlive
+ the component instances
+ - [QTBUG-62175] Fix incorrect values of lastIndex in regular expressions created
+ from literals
+
+QtQuick
+-------
+
+ - Window:
+ * [QTBUG-62055] Fixed a (rare) crash in mouseGrabberItem()
+
+ - Text:
+ * [QTBUG-40943] Fixed TextInput cursor behavior when using inputMask
+ * QQuickTextInput: fixed a problem with validator transition from
+ Acceptable to an Intermediate state, which was preventing further editing
+ * [QTBUG-63153] TextEdit recalculates its implicit width when text is changed
+
+ - AnimatedImage:
+ * [QTBUG-62380] Fixed a crash in QQuickAnimatedImage
+ * [QTBUG-62913] QQuickAnimatedImage::frameCount now has a notifier signal
+
+ - Canvas:
+ * [QTBUG-37095] Canvas repaints at the correct resolution when the window is
+ dragged between high-DPI and lower-resolution screens. The new logging
+ category qt.quick.canvas can be enabled to verify what it is doing.
+
+ - Drag and Drop:
+ * [QTBUG-61980] DnD dragged image hotspot is now set correctly
+
+ - Item Views:
+ * [QTBUG-61537] ListView layout is redone when a delegate is placed at
+ the last visible position
+ * [QTBUG-33568] Fixed a problem with ListView delegate size change animation
+ when highlightRangeMode is StrictlyEnforceRange
+ * [QTBUG-60894] ListView.currentIndex stays in sync during ObjectModel.move()
+ * [QTBUG-62939] Flickable (and subclasses) rebound is more consistent
+ when flicked repeatedly beyond bounds
+
+ - Scene Graph:
+ * [QTBUG-62392] Cached shader programs are freed by releaseResources()
+ * [QTBUG-61754] Fixed a memory leak in QSGAtlasTexture
+ * [QTBUG-54434] QQuickFramebufferObject::Renderer::invalidateFramebufferObject
+ always re-creates the FBO
+ * [QTBUG-61939] Fixed clipping when using the software renderer
+ * [QTBUG-61686] QSGFrameBufferObjectNode now stores devicePixelRatio as qreal
+ * [QTBUG-61502] QQuickWidget supports non-integral devicePixelRatio
+ * [QTBUG-59789] Fixed excessive recursion in QSGBatchRenderer which caused
+ a stack overflow when hiding TableView
diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp
index eeb5595a9a..fab865081a 100644
--- a/src/qml/compiler/qqmltypecompiler.cpp
+++ b/src/qml/compiler/qqmltypecompiler.cpp
@@ -412,7 +412,7 @@ bool SignalHandlerConverter::convertSignalHandlerExpressionsToFunctionDeclaratio
const QString &originalPropertyName = stringAt(binding->propertyNameIndex);
auto *typeRef = resolvedTypes.value(obj->inheritedTypeNameIndex);
- const QQmlType type = typeRef->type;
+ const QQmlType type = typeRef ? typeRef->type : QQmlType();
if (type.isValid()) {
COMPILE_EXCEPTION(binding, tr("\"%1.%2\" is not available in %3 %4.%5.").arg(typeName).arg(originalPropertyName).arg(type.module()).arg(type.majorVersion()).arg(type.minorVersion()));
} else {
diff --git a/src/qml/qml/qqmltypeloader_p.h b/src/qml/qml/qqmltypeloader_p.h
index c214f0cd43..abc0df9068 100644
--- a/src/qml/qml/qqmltypeloader_p.h
+++ b/src/qml/qml/qqmltypeloader_p.h
@@ -322,8 +322,8 @@ public:
void invalidate();
#ifdef QT_NO_QML_DEBUGGER
- QQmlProfiler *profiler() const { return nullptr; }
- void setProfiler(QQmlProfiler *) {}
+ quintptr profiler() const { return 0; }
+ void setProfiler(quintptr) {}
#else
QQmlProfiler *profiler() const { return m_profiler.data(); }
void setProfiler(QQmlProfiler *profiler);
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp
index c23d11ed20..5aff0ee393 100644
--- a/src/quickwidgets/qquickwidget.cpp
+++ b/src/quickwidgets/qquickwidget.cpp
@@ -1391,8 +1391,6 @@ bool QQuickWidget::event(QEvent *e)
Q_D(QQuickWidget);
switch (e->type()) {
- case QEvent::InputMethod:
- case QEvent::InputMethodQuery:
case QEvent::TouchBegin:
case QEvent::TouchEnd:
@@ -1401,6 +1399,10 @@ bool QQuickWidget::event(QEvent *e)
// Touch events only have local and global positions, no need to map.
return QCoreApplication::sendEvent(d->offscreenWindow, e);
+ case QEvent::InputMethod:
+ case QEvent::InputMethodQuery:
+ return QCoreApplication::sendEvent(d->offscreenWindow->focusObject(), e);
+
case QEvent::WindowChangeInternal:
d->handleWindowChange();
break;