[neon/qt/qtquickcontrols2/Neon/unstable] debian: Revert "Add 0009-Accessibility-respect-value-in-attached-Accessible-i.patch from KDE."

Dmitry Shachnev null at kde.org
Mon Apr 29 17:44:21 BST 2024


Git commit f84c6d14a39b35c39196297cf30da814ebede42e by Dmitry Shachnev.
Committed on 13/06/2023 at 10:34.
Pushed by jriddell into branch 'Neon/unstable'.

Revert "Add 0009-Accessibility-respect-value-in-attached-Accessible-i.patch from KDE."

It makes the build fail:

  qquickcontrol.cpp: In member function 'virtual void QQuickControl::accessibilityActiveChanged(bool)':
  qquickcontrol.cpp:2336:36: error: 'class QQuickControlPrivate' has no member named 'effectiveAccessibleRole'
   2336 |     accessibleAttached->setRole(d->effectiveAccessibleRole());
        |                                    ^~~~~~~~~~~~~~~~~~~~~~~

This reverts commit 1f1757ad030020420c73457c4c83f4da1aec03d4.

M  +0    -2    debian/changelog
D  +0    -150  debian/patches/0009-Accessibility-respect-value-in-attached-Accessible-i.patch
M  +0    -1    debian/patches/series

https://invent.kde.org/neon/qt/qtquickcontrols2/-/commit/f84c6d14a39b35c39196297cf30da814ebede42e

diff --git a/debian/changelog b/debian/changelog
index b275e1a..c1c6d47 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,6 @@ qtquickcontrols2-opensource-src (5.15.10+dfsg-1) UNRELEASED; urgency=medium
   * New upstream release.
   * Bump Qt build-dependencies to 5.15.10.
   * Refresh 0006-Fix-scroll-bars-not-showing-up-when-binding-to-stand.patch.
-  * Add one more patch from KDE’s collection: respect value in attached
-    Accessible in controls.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Sat, 10 Jun 2023 20:46:09 +0300
 
diff --git a/debian/patches/0009-Accessibility-respect-value-in-attached-Accessible-i.patch b/debian/patches/0009-Accessibility-respect-value-in-attached-Accessible-i.patch
deleted file mode 100644
index 46f57df..0000000
--- a/debian/patches/0009-Accessibility-respect-value-in-attached-Accessible-i.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 68a48018e34322edaf611639710b3edbe389e8c2 Mon Sep 17 00:00:00 2001
-From: Volker Hilsheimer <volker.hilsheimer at qt.io>
-Date: Tue, 18 Apr 2023 22:05:36 +0200
-Subject: [PATCH] Accessibility: respect value in attached Accessible in
- controls
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-QQuickItemPrivate::accessibleRole is virtual and called by the framework
-to determine the role of an item. The default implementation checks and
-respects a possible Accessible attached object. However, subclasses that
-override the virtual don't, so the attached properties are ignored, and
-the class-specific implementation wins. This makes it impossible to
-change the role of e.g. a checkable button.
-
-To fix that, move the code respecting the attached object into a non-
-virtual function that the framework calls instead, and only call the
-virtual member if there is no attached object, or if that object is not
-initialized with a role. Replace calls to the virtual from the
-framework with calls to the non-virtual wrapper.
-
-Do this for both QQuickItem and for QQuickPopup, and adjust the logic
-in QQuickControl types that create an attached object and initialize
-it's role when accessibility becomes active. Use the non-overridable
-effective role value for that as well.
-
-Add a test case, and to avoid any new framework calls to the virtual,
-make it private.
-
-Fixes: QTBUG-110114
-Pick-to: 6.5 6.2
-Change-Id: Ia709cecbd181b6d8ee3297a4af60c1e7db9a2c51
-Reviewed-by: Qt CI Bot <qt_ci_bot at qt-project.org>
-Reviewed-by: Jan Arve Sæther <jan-arve.saether at qt.io>
-(cherry picked from commit 3c08d08ae2bbd449cc0579a1b3cb499383c7a60c)
----
- src/quicktemplates2/qquickcontrol.cpp   |  3 ++-
- src/quicktemplates2/qquicklabel.cpp     |  2 +-
- src/quicktemplates2/qquickpopup.cpp     | 14 ++++++++++++++
- src/quicktemplates2/qquickpopup_p.h     |  3 +++
- src/quicktemplates2/qquickpopupitem.cpp |  2 +-
- src/quicktemplates2/qquicktextarea.cpp  |  2 +-
- src/quicktemplates2/qquicktextfield.cpp |  2 +-
- 7 files changed, 23 insertions(+), 5 deletions(-)
-
---- a/src/quicktemplates2/qquickcontrol.cpp
-+++ b/src/quicktemplates2/qquickcontrol.cpp
-@@ -2327,12 +2327,13 @@ QAccessible::Role QQuickControl::accessibleRole() const
- 
- void QQuickControl::accessibilityActiveChanged(bool active)
- {
-+    Q_D(QQuickControl);
-     if (!active)
-         return;
- 
-     QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(this, true));
-     Q_ASSERT(accessibleAttached);
--    accessibleAttached->setRole(accessibleRole());
-+    accessibleAttached->setRole(d->effectiveAccessibleRole());
- }
- #endif
- 
---- a/src/quicktemplates2/qquicklabel.cpp
-+++ b/src/quicktemplates2/qquicklabel.cpp
-@@ -263,7 +263,7 @@ void QQuickLabelPrivate::accessibilityActiveChanged(bool active)
-     Q_Q(QQuickLabel);
-     QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
-     Q_ASSERT(accessibleAttached);
--    accessibleAttached->setRole(accessibleRole());
-+    accessibleAttached->setRole(effectiveAccessibleRole());
-     maybeSetAccessibleName(text);
- }
- 
---- a/src/quicktemplates2/qquickpopup.cpp
-+++ b/src/quicktemplates2/qquickpopup.cpp
-@@ -46,6 +46,7 @@
- 
- #include <QtQml/qqmlinfo.h>
- #include <QtQuick/qquickitem.h>
-+#include <QtQuick/private/qquickaccessibleattached_p.h>
- #include <QtQuick/private/qquicktransition_p.h>
- #include <QtQuick/private/qquickitem_p.h>
- 
-@@ -2720,6 +2721,19 @@ QPalette QQuickPopup::defaultPalette() const
- }
- 
- #if QT_CONFIG(accessibility)
-+QAccessible::Role QQuickPopup::effectiveAccessibleRole() const
-+{
-+    auto *attached = qmlAttachedPropertiesObject<QQuickAccessibleAttached>(this, false);
-+
-+    auto role = QAccessible::NoRole;
-+    if (auto *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(attached))
-+        role = accessibleAttached->role();
-+    if (role == QAccessible::NoRole)
-+        role = accessibleRole();
-+
-+    return role;
-+}
-+
- QAccessible::Role QQuickPopup::accessibleRole() const
- {
-     return QAccessible::Dialog;
---- a/src/quicktemplates2/qquickpopup_p.h
-+++ b/src/quicktemplates2/qquickpopup_p.h
-@@ -454,7 +454,10 @@ protected:
-     virtual QPalette defaultPalette() const;
- 
- #if QT_CONFIG(accessibility)
-+    QAccessible::Role effectiveAccessibleRole() const;
-+private:
-     virtual QAccessible::Role accessibleRole() const;
-+protected:
-     virtual void accessibilityActiveChanged(bool active);
- #endif
- 
---- a/src/quicktemplates2/qquickpopupitem.cpp
-+++ b/src/quicktemplates2/qquickpopupitem.cpp
-@@ -404,7 +404,7 @@ QPalette QQuickPopupItem::defaultPalette() const
- QAccessible::Role QQuickPopupItem::accessibleRole() const
- {
-     Q_D(const QQuickPopupItem);
--    return d->popup->accessibleRole();
-+    return d->popup->effectiveAccessibleRole();
- }
- 
- void QQuickPopupItem::accessibilityActiveChanged(bool active)
---- a/src/quicktemplates2/qquicktextarea.cpp
-+++ b/src/quicktemplates2/qquicktextarea.cpp
-@@ -512,7 +512,7 @@ void QQuickTextAreaPrivate::accessibilityActiveChanged(bool active)
-     Q_Q(QQuickTextArea);
-     QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
-     Q_ASSERT(accessibleAttached);
--    accessibleAttached->setRole(accessibleRole());
-+    accessibleAttached->setRole(effectiveAccessibleRole());
-     accessibleAttached->set_readOnly(q->isReadOnly());
-     accessibleAttached->setDescription(placeholder);
- }
---- a/src/quicktemplates2/qquicktextfield.cpp
-+++ b/src/quicktemplates2/qquicktextfield.cpp
-@@ -359,7 +359,7 @@ void QQuickTextFieldPrivate::accessibilityActiveChanged(bool active)
-     Q_Q(QQuickTextField);
-     QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
-     Q_ASSERT(accessibleAttached);
--    accessibleAttached->setRole(accessibleRole());
-+    accessibleAttached->setRole(effectiveAccessibleRole());
-     accessibleAttached->set_readOnly(m_readOnly);
-     accessibleAttached->set_passwordEdit((m_echoMode == QQuickTextField::Password || m_echoMode == QQuickTextField::PasswordEchoOnEdit) ? true : false);
-     accessibleAttached->setDescription(placeholder);
diff --git a/debian/patches/series b/debian/patches/series
index 2b9b7e7..dae04a5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,5 +3,4 @@
 0006-Fix-scroll-bars-not-showing-up-when-binding-to-stand.patch
 0007-implement-a11y-pressing-of-qquickabstractbutton.patch
 0008-Fix-the-popup-position-of-a-Menu.patch
-0009-Accessibility-respect-value-in-attached-Accessible-i.patch
 disable_fontless_examples_build.patch



More information about the Neon-commits mailing list