Resolves: RHEL-27845
Resolves: RHEL-31151
Resolves: RHEL-32080
This commit is contained in:
Jan Grulich 2024-04-18 13:11:31 +02:00
parent 31b5531655
commit 30319bd697
5 changed files with 105 additions and 7 deletions

1
.gitignore vendored
View File

@ -24,3 +24,4 @@
/qtdeclarative-everywhere-src-6.5.3.tar.xz /qtdeclarative-everywhere-src-6.5.3.tar.xz
/qtdeclarative-everywhere-src-6.6.0.tar.xz /qtdeclarative-everywhere-src-6.6.0.tar.xz
/qtdeclarative-everywhere-src-6.6.1.tar.xz /qtdeclarative-everywhere-src-6.6.1.tar.xz
/qtdeclarative-everywhere-src-6.7.0.tar.xz

View File

@ -0,0 +1,23 @@
From ab88fcd990523070f2c018f4599b9bfa023d3b95 Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@kde.org>
Date: Fri, 01 Mar 2024 22:44:05 +0100
Subject: [PATCH] QQuickSelectionRectangle: Fix crash when target is null
Pick-to: 6.7 6.6
Change-Id: I9eb92583f2cfe1a0a6bee54e3e3f31528c3b6993
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
---
diff --git a/src/quicktemplates/qquickselectionrectangle.cpp b/src/quicktemplates/qquickselectionrectangle.cpp
index f4543f0..7ef9996 100644
--- a/src/quicktemplates/qquickselectionrectangle.cpp
+++ b/src/quicktemplates/qquickselectionrectangle.cpp
@@ -491,7 +491,7 @@
m_tapHandler->setEnabled(enabled);
if (m_selectionMode == QQuickSelectionRectangle::Auto) {
- if (qobject_cast<QQuickScrollView *>(m_target->parentItem())) {
+ if (m_target && qobject_cast<QQuickScrollView *>(m_target->parentItem())) {
// ScrollView allows flicking with touch, but not with mouse. So we do
// the same here: you can drag to select with a mouse, but not with touch.
m_effectiveSelectionMode = QQuickSelectionRectangle::Drag;

View File

@ -0,0 +1,35 @@
From 121fcc597d7d756737613570ac05a09911cec265 Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@qt.io>
Date: Tue, 26 Mar 2024 12:09:23 +0100
Subject: [PATCH] QQuickTextEdit: Check QQuickAccessibleAttached for nullptr
If the host object is in the process of being deleted, the attached
object will be null. We cannot rule this out here, and crashes have been
reported.
Amends commmit 12517742fcbd40b2311b94abe840532eae3d8914
Pick-to: 6.7
Change-Id: I31fcab2999c8ab8c20f3a2cd58060cbbefa7de40
---
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp
index 006d235..66615d9 100644
--- a/src/quick/items/qquicktextedit.cpp
+++ b/src/quick/items/qquicktextedit.cpp
@@ -1015,10 +1015,11 @@
return;
Q_Q(QQuickTextEdit);
- QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
- Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(effectiveAccessibleRole());
- accessibleAttached->set_readOnly(q->isReadOnly());
+ if (QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(
+ qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true))) {
+ accessibleAttached->setRole(effectiveAccessibleRole());
+ accessibleAttached->set_readOnly(q->isReadOnly());
+ }
}
QAccessible::Role QQuickTextEditPrivate::accessibleRole() const

View File

@ -16,8 +16,8 @@
Summary: Qt6 - QtDeclarative component Summary: Qt6 - QtDeclarative component
Name: qt6-%{qt_module} Name: qt6-%{qt_module}
Version: 6.6.1 Version: 6.7.0
Release: 4%{?dist} Release: 1%{?dist}
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
Url: http://www.qt.io Url: http://www.qt.io
@ -35,6 +35,8 @@ Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submod
Source5: qv4global_p-multilib.h Source5: qv4global_p-multilib.h
## upstream patches ## upstream patches
Patch0: qquickselectiontriangle-fix-crash-when-target-is-null.patch
Patch1: qquicktextedit-check-qquickaccessibleattached-for-nullptr.patch
## upstreamable patches ## upstreamable patches
@ -113,7 +115,8 @@ export PATH=`pwd`:$PATH
%cmake_qt6 \ %cmake_qt6 \
-DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF} \ -DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF} \
-DQT_BUILD_TESTS=%{?build_tests:ON}%{!?build_tests:OFF} -DQT_BUILD_TESTS=%{?build_tests:ON}%{!?build_tests:OFF} \
-DQT_INSTALL_EXAMPLES_SOURCES=%{?examples:ON}%{!?examples:OFF}
# FIXME: tests/auto/qml/qmltc doesn't build # FIXME: tests/auto/qml/qmltc doesn't build
sed -i 's|add_subdirectory(qmltc)||' tests/auto/qml/CMakeLists.txt sed -i 's|add_subdirectory(qmltc)||' tests/auto/qml/CMakeLists.txt
@ -170,8 +173,6 @@ for prl_file in libQt6*.prl ; do
done done
popd popd
# FIXME: where does it come from?
rm -rf %{buildroot}%{_qt6_libdir}/objects-RelWithDebInfo/QmlCompilerPrivate_resources_1/.rcc/qrc_builtins.cpp.o
%check %check
%if 0%{?tests} %if 0%{?tests}
@ -196,12 +197,13 @@ make check -k -C tests ||:
%{_qt6_libdir}/libQt6LabsSharedImage.so.6* %{_qt6_libdir}/libQt6LabsSharedImage.so.6*
%{_qt6_libdir}/libQt6LabsWavefrontMesh.so.6* %{_qt6_libdir}/libQt6LabsWavefrontMesh.so.6*
%{_qt6_libdir}/libQt6QmlLocalStorage.so.6* %{_qt6_libdir}/libQt6QmlLocalStorage.so.6*
%{_qt6_libdir}/libQt6QmlNetwork.so.6*
%{_qt6_libdir}/libQt6Qml.so.6* %{_qt6_libdir}/libQt6Qml.so.6*
%{_qt6_libdir}/libQt6QmlCompiler.so.* %{_qt6_libdir}/libQt6QmlCompiler.so.*
%{_qt6_libdir}/libQt6QmlCore.so.6* %{_qt6_libdir}/libQt6QmlCore.so.6*
%{_qt6_libdir}/libQt6QmlModels.so.6* %{_qt6_libdir}/libQt6QmlModels.so.6*
%{_qt6_libdir}/libQt6QmlWorkerScript.so.6* %{_qt6_libdir}/libQt6QmlWorkerScript.so.6*
%{_qt6_libdir}/libQt6Quick.so.6* %{_qt6_libdir}/libQt6Quick*.so.6*
%{_qt6_libdir}/libQt6QuickControls2.so.6* %{_qt6_libdir}/libQt6QuickControls2.so.6*
%{_qt6_libdir}/libQt6QuickControls2Impl.so.6* %{_qt6_libdir}/libQt6QuickControls2Impl.so.6*
%{_qt6_libdir}/libQt6QuickDialogs2.so.6* %{_qt6_libdir}/libQt6QuickDialogs2.so.6*
@ -223,6 +225,7 @@ make check -k -C tests ||:
%dir %{_qt6_libdir}/cmake/Qt6PacketProtocolPrivate %dir %{_qt6_libdir}/cmake/Qt6PacketProtocolPrivate
%dir %{_qt6_libdir}/cmake/Qt6Qml %dir %{_qt6_libdir}/cmake/Qt6Qml
%dir %{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins %dir %{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins
%dir %{_qt6_libdir}/cmake/Qt6QmlBuiltins
%dir %{_qt6_libdir}/cmake/Qt6QmlCompiler %dir %{_qt6_libdir}/cmake/Qt6QmlCompiler
%dir %{_qt6_libdir}/cmake/Qt6QmlCore %dir %{_qt6_libdir}/cmake/Qt6QmlCore
%dir %{_qt6_libdir}/cmake/Qt6QmlDebugPrivate %dir %{_qt6_libdir}/cmake/Qt6QmlDebugPrivate
@ -234,10 +237,21 @@ make check -k -C tests ||:
%dir %{_qt6_libdir}/cmake/Qt6LabsSettings %dir %{_qt6_libdir}/cmake/Qt6LabsSettings
%dir %{_qt6_libdir}/cmake/Qt6LabsSharedImage %dir %{_qt6_libdir}/cmake/Qt6LabsSharedImage
%dir %{_qt6_libdir}/cmake/Qt6LabsWavefrontMesh %dir %{_qt6_libdir}/cmake/Qt6LabsWavefrontMesh
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2Basic
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2BasicStyleImpl
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2Fusion
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2FusionStyleImpl
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2Imagine
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2ImagineStyleImpl
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2Material
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2MaterialStyleImpl
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2Universal
%dir %{_qt6_libdir}/cmake/Qt6QuickControls2UniversalStyleImpl
%dir %{_qt6_libdir}/cmake/Qt6QmlLSPrivate %dir %{_qt6_libdir}/cmake/Qt6QmlLSPrivate
%dir %{_qt6_libdir}/cmake/Qt6QmlDomPrivate %dir %{_qt6_libdir}/cmake/Qt6QmlDomPrivate
%dir %{_qt6_libdir}/cmake/Qt6QmlLocalStorage %dir %{_qt6_libdir}/cmake/Qt6QmlLocalStorage
%dir %{_qt6_libdir}/cmake/Qt6QmlModels %dir %{_qt6_libdir}/cmake/Qt6QmlModels
%dir %{_qt6_libdir}/cmake/Qt6QmlNetwork
%dir %{_qt6_libdir}/cmake/Qt6QmlTools %dir %{_qt6_libdir}/cmake/Qt6QmlTools
%dir %{_qt6_libdir}/cmake/Qt6QmlToolingSettingsPrivate %dir %{_qt6_libdir}/cmake/Qt6QmlToolingSettingsPrivate
%dir %{_qt6_libdir}/cmake/Qt6QmlWorkerScript %dir %{_qt6_libdir}/cmake/Qt6QmlWorkerScript
@ -262,6 +276,7 @@ make check -k -C tests ||:
%{_qt6_libexecdir}/qmlcachegen %{_qt6_libexecdir}/qmlcachegen
%{_qt6_libexecdir}/qmlimportscanner %{_qt6_libexecdir}/qmlimportscanner
%{_qt6_libexecdir}/qmltyperegistrar %{_qt6_libexecdir}/qmltyperegistrar
%{_qt6_libexecdir}/qmljsrootgen
%{_qt6_headerdir}/Qt*/ %{_qt6_headerdir}/Qt*/
%{_qt6_libdir}/libQt6LabsAnimation.so %{_qt6_libdir}/libQt6LabsAnimation.so
%{_qt6_libdir}/libQt6LabsFolderListModel.so %{_qt6_libdir}/libQt6LabsFolderListModel.so
@ -271,6 +286,7 @@ make check -k -C tests ||:
%{_qt6_libdir}/libQt6LabsWavefrontMesh.so %{_qt6_libdir}/libQt6LabsWavefrontMesh.so
%{_qt6_libdir}/libQt6QmlLocalStorage.so %{_qt6_libdir}/libQt6QmlLocalStorage.so
%{_qt6_libdir}/libQt6Qml.so %{_qt6_libdir}/libQt6Qml.so
%{_qt6_libdir}/libQt6QmlNetwork.so
%{_qt6_libdir}/libQt6QmlCompiler.so %{_qt6_libdir}/libQt6QmlCompiler.so
%{_qt6_libdir}/libQt6QmlCore.so %{_qt6_libdir}/libQt6QmlCore.so
%{_qt6_libdir}/libQt6QmlModels.so %{_qt6_libdir}/libQt6QmlModels.so
@ -278,6 +294,7 @@ make check -k -C tests ||:
%{_qt6_libdir}/libQt6Quick*.so %{_qt6_libdir}/libQt6Quick*.so
%{_qt6_libdir}/libQt6QmlXmlListModel.so %{_qt6_libdir}/libQt6QmlXmlListModel.so
%{_qt6_libdir}/qt6/metatypes/qt6*_metatypes.json %{_qt6_libdir}/qt6/metatypes/qt6*_metatypes.json
%{_qt6_libdir}/qt6/objects-RelWithDebInfo/QmlTypeRegistrarPrivate_resources_1/.rcc/qrc_jsRootMetaTypes_init.cpp.o
%{_qt6_archdatadir}/mkspecs/modules/*.pri %{_qt6_archdatadir}/mkspecs/modules/*.pri
%{_qt6_archdatadir}/mkspecs/features/*.prf %{_qt6_archdatadir}/mkspecs/features/*.prf
%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtDeclarativeTestsConfig.cmake %{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtDeclarativeTestsConfig.cmake
@ -285,6 +302,7 @@ make check -k -C tests ||:
%{_qt6_libdir}/cmake/Qt6Qml/*.cmake* %{_qt6_libdir}/cmake/Qt6Qml/*.cmake*
%{_qt6_libdir}/cmake/Qt6Qml/*.cpp.in %{_qt6_libdir}/cmake/Qt6Qml/*.cpp.in
%{_qt6_libdir}/cmake/Qt6Qml/*.qrc.in %{_qt6_libdir}/cmake/Qt6Qml/*.qrc.in
%{_qt6_libdir}/cmake/Qt6QmlBuiltins/*cmake
%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake %{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlCompiler/*.cmake %{_qt6_libdir}/cmake/Qt6QmlCompiler/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlCore/*.cmake %{_qt6_libdir}/cmake/Qt6QmlCore/*.cmake
@ -300,7 +318,18 @@ make check -k -C tests ||:
%{_qt6_libdir}/cmake/Qt6QmlLSPrivate/*.cmake %{_qt6_libdir}/cmake/Qt6QmlLSPrivate/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlDomPrivate/*.cmake %{_qt6_libdir}/cmake/Qt6QmlDomPrivate/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlLocalStorage/*.cmake %{_qt6_libdir}/cmake/Qt6QmlLocalStorage/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2Basic/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2BasicStyleImpl/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2Fusion/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2FusionStyleImpl/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2Imagine/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2ImagineStyleImpl/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2Material/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2MaterialStyleImpl/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2Universal/*.cmake
%{_qt6_libdir}/cmake/Qt6QuickControls2UniversalStyleImpl/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlModels/*.cmake %{_qt6_libdir}/cmake/Qt6QmlModels/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlNetwork/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlTools/*.cmake %{_qt6_libdir}/cmake/Qt6QmlTools/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlToolingSettingsPrivate/*.cmake %{_qt6_libdir}/cmake/Qt6QmlToolingSettingsPrivate/*.cmake
%{_qt6_libdir}/cmake/Qt6QmlWorkerScript/*.cmake %{_qt6_libdir}/cmake/Qt6QmlWorkerScript/*.cmake
@ -323,6 +352,8 @@ make check -k -C tests ||:
%{_qt6_libdir}/cmake/Qt6QuickWidgets/*.cmake %{_qt6_libdir}/cmake/Qt6QuickWidgets/*.cmake
%{_qt6_libdir}/qt6/modules/*.json %{_qt6_libdir}/qt6/modules/*.json
%{_qt6_libdir}/pkgconfig/*.pc %{_qt6_libdir}/pkgconfig/*.pc
# FIXME: should be in -static, but looks it's required for all modules
%{_qt6_libdir}/libQt6QmlBuiltins.a
%files static %files static
%{_qt6_libdir}/libQt6LabsAnimation.prl %{_qt6_libdir}/libQt6LabsAnimation.prl
@ -331,12 +362,14 @@ make check -k -C tests ||:
%{_qt6_libdir}/libQt6LabsSettings.prl %{_qt6_libdir}/libQt6LabsSettings.prl
%{_qt6_libdir}/libQt6LabsSharedImage.prl %{_qt6_libdir}/libQt6LabsSharedImage.prl
%{_qt6_libdir}/libQt6LabsWavefrontMesh.prl %{_qt6_libdir}/libQt6LabsWavefrontMesh.prl
%{_qt6_libdir}/libQt6QmlBuiltins.prl
%{_qt6_libdir}/libQt6QmlCore.prl %{_qt6_libdir}/libQt6QmlCore.prl
%{_qt6_libdir}/libQt6QmlDom.a %{_qt6_libdir}/libQt6QmlDom.a
%{_qt6_libdir}/libQt6QmlDom.prl %{_qt6_libdir}/libQt6QmlDom.prl
%{_qt6_libdir}/libQt6QmlLocalStorage.prl %{_qt6_libdir}/libQt6QmlLocalStorage.prl
%{_qt6_libdir}/libQt6QmlLS.a %{_qt6_libdir}/libQt6QmlLS.a
%{_qt6_libdir}/libQt6QmlLS.prl %{_qt6_libdir}/libQt6QmlLS.prl
%{_qt6_libdir}/libQt6QmlNetwork.prl
%{_qt6_libdir}/libQt6Quick*.prl %{_qt6_libdir}/libQt6Quick*.prl
%{_qt6_libdir}/libQt6QmlWorkerScript.prl %{_qt6_libdir}/libQt6QmlWorkerScript.prl
%{_qt6_libdir}/libQt6QmlModels.prl %{_qt6_libdir}/libQt6QmlModels.prl
@ -365,6 +398,12 @@ make check -k -C tests ||:
%endif %endif
%changelog %changelog
* Thu Apr 18 2024 Jan Grulich <jgrulich@redhat.com> - 6.7.0-1
- 6.7.0
Resolves: RHEL-27845
Resolves: RHEL-31151
Resolves: RHEL-32080
* Wed Mar 27 2024 Jan Grulich <jgrulich@redhat.com> - 6.6.1-4 * Wed Mar 27 2024 Jan Grulich <jgrulich@redhat.com> - 6.6.1-4
- Add -tests subpackage with unit tests that can run in CI - Add -tests subpackage with unit tests that can run in CI
Resolves: RHEL-28239 Resolves: RHEL-28239

View File

@ -1 +1 @@
SHA512 (qtdeclarative-everywhere-src-6.6.1.tar.xz) = 1a819187519670338df1c308d5980aed985670ee3e79a424e56d8e300855513541f46a1b89d9f595bdab382a0072761f0fda87d78653602041a10a5bd3e7bdcd SHA512 (qtdeclarative-everywhere-src-6.7.0.tar.xz) = b189f3fc4ae9ad3e5c26aa56696b97cb2f1894cb23110928a31e5a62fb779578b492bec2f4dda5b31958a33eb2571ec4e1085ae6864442507be3ae0da83c96ee