diff options
-rw-r--r-- | dist/changes-5.9.2 | 86 | ||||
-rw-r--r-- | src/qml/compiler/qqmltypecompiler.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmltypeloader_p.h | 4 | ||||
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 6 |
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; |