Bug#1033995: marked as done (qtbase-opensource-src: Fix accessibility of qt5 applications run as root)
Your message dated Thu, 13 Apr 2023 00:12:40 + with message-id and subject line Bug#1033995: fixed in qtbase-opensource-src 5.15.8+dfsg-7 has caused the Debian Bug report #1033995, regarding qtbase-opensource-src: Fix accessibility of qt5 applications run as root to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 1033995: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033995 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems --- Begin Message --- Source: qtbase-opensource-src Version: 5.15.8+dfsg-3 Severity: important Tags: patch upstream Forwarded: https://bugreports.qt.io/browse/QTBUG-43674 Hello, Currently, qt5 applications, when run in sudo, are not accessible to screen readers. This is because the accessibility layer does not manage to connect to the accessibility bus to export the application content: https://bugreports.qt.io/browse/QTBUG-43674 Most of the support was merged into qt5, but there is a little fix missing, that was missed by upstream. I have attached the fix, it is very simple: the ordering in QSpiAccessibleBridge::QSpiAccessibleBridge used to be - new DBusConnection() creates the dbusConnection object - the DBusConnection::DBusConnection constructor connects to the atspi bus - connect the enabledChanged signal and this patch changes it to: - new DBusConnection() creates the dbusConnection object - connect the enabledChanged signal - the DBusConnection::init method connects to the atspi bus This is needed in the root case because since in that case it cannot access the user session dbus, it uses a synchronous method, in which case the enabledChanged signal is emitted from the DBusConnection::DBusConnection constructor, and thus lost forever since it was not connected yet at that time. So we need to connect the signal before connecting to the atspi bus (and get the enabledChanged event). This is particularly important because the calamares installer is based on qt5 and runs as root, and it currently is completely inaccessible to blind users, and this fix makes it possible for blind users to use it. I have confirmed that this fixes the issue for bookworm, would it be possible to upload to unstable? I'll then handle requesting the unblock from the release team. Samuel -- System Information: Debian Release: 12.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, arm64 Kernel: Linux 6.2.0 (SMP w/8 CPU threads; PREEMPT) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled From: Frederik Gladhorn Date: Tue, 12 Sep 2017 09:22:30 + (+0200) Subject: Fix accessibility on XCB when running as root X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commitdiff_plain;h=4ee3703ffaf063047285247016ee9e5c07ef3b53;hp=689606de91faecf91f1f92e8d355789d9be62d2f Forwarded: https://bugreports.qt.io/browse/QTBUG-43674 Fix accessibility on XCB when running as root Accessibility actually works when running applications as root, but we would never properly connect, since the enabledChanged signal would be emitted from the constructor in this case. Only applications running as root would be affected, because all other applications would go through the asynchronous pattern of getting the bus address from dbus instead. Since running apps as root won't let them access the session bus, the xatom is the way to go. [ChangeLog][QtGui][Accessibility] On XCB applications running as root are now accessible. Task-number: QTBUG-43674 Change-Id: I82cdc35f00693a8366dfcdab2f2c3c6dc5f5b783 --- --- src/platformsupport/linuxaccessibility/bridge.cpp |1 + src/platformsupport/linuxaccessibility/dbusconnection.cpp |8 src/platformsupport/linuxaccessibility/dbusconnection_p.h |1 + 3 files changed, 10 insertions(+) --- a/src/platformsupport/linuxaccessibility/bridge.cpp +++ b/src/platformsupport/linuxaccessibility/bridge.cpp @@ -65,6 +65,7 @@ QSpiAccessibleBridge::QSpiAccessibleBrid { dbusConnection = new DBusConnection(); connect(dbusConnection, SIGNAL(enabledChanged(bool)), this,
Bug#1033995: marked as done (qtbase-opensource-src: Fix accessibility of qt5 applications run as root)
Your message dated Tue, 11 Apr 2023 11:51:52 + with message-id and subject line Bug#1033995: fixed in qtbase-opensource-src 5.15.8+dfsg-6 has caused the Debian Bug report #1033995, regarding qtbase-opensource-src: Fix accessibility of qt5 applications run as root to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 1033995: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033995 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems --- Begin Message --- Source: qtbase-opensource-src Version: 5.15.8+dfsg-3 Severity: important Tags: patch upstream Forwarded: https://bugreports.qt.io/browse/QTBUG-43674 Hello, Currently, qt5 applications, when run in sudo, are not accessible to screen readers. This is because the accessibility layer does not manage to connect to the accessibility bus to export the application content: https://bugreports.qt.io/browse/QTBUG-43674 Most of the support was merged into qt5, but there is a little fix missing, that was missed by upstream. I have attached the fix, it is very simple: the ordering in QSpiAccessibleBridge::QSpiAccessibleBridge used to be - new DBusConnection() creates the dbusConnection object - the DBusConnection::DBusConnection constructor connects to the atspi bus - connect the enabledChanged signal and this patch changes it to: - new DBusConnection() creates the dbusConnection object - connect the enabledChanged signal - the DBusConnection::init method connects to the atspi bus This is needed in the root case because since in that case it cannot access the user session dbus, it uses a synchronous method, in which case the enabledChanged signal is emitted from the DBusConnection::DBusConnection constructor, and thus lost forever since it was not connected yet at that time. So we need to connect the signal before connecting to the atspi bus (and get the enabledChanged event). This is particularly important because the calamares installer is based on qt5 and runs as root, and it currently is completely inaccessible to blind users, and this fix makes it possible for blind users to use it. I have confirmed that this fixes the issue for bookworm, would it be possible to upload to unstable? I'll then handle requesting the unblock from the release team. Samuel -- System Information: Debian Release: 12.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, arm64 Kernel: Linux 6.2.0 (SMP w/8 CPU threads; PREEMPT) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled From: Frederik Gladhorn Date: Tue, 12 Sep 2017 09:22:30 + (+0200) Subject: Fix accessibility on XCB when running as root X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commitdiff_plain;h=4ee3703ffaf063047285247016ee9e5c07ef3b53;hp=689606de91faecf91f1f92e8d355789d9be62d2f Forwarded: https://bugreports.qt.io/browse/QTBUG-43674 Fix accessibility on XCB when running as root Accessibility actually works when running applications as root, but we would never properly connect, since the enabledChanged signal would be emitted from the constructor in this case. Only applications running as root would be affected, because all other applications would go through the asynchronous pattern of getting the bus address from dbus instead. Since running apps as root won't let them access the session bus, the xatom is the way to go. [ChangeLog][QtGui][Accessibility] On XCB applications running as root are now accessible. Task-number: QTBUG-43674 Change-Id: I82cdc35f00693a8366dfcdab2f2c3c6dc5f5b783 --- --- src/platformsupport/linuxaccessibility/bridge.cpp |1 + src/platformsupport/linuxaccessibility/dbusconnection.cpp |8 src/platformsupport/linuxaccessibility/dbusconnection_p.h |1 + 3 files changed, 10 insertions(+) --- a/src/platformsupport/linuxaccessibility/bridge.cpp +++ b/src/platformsupport/linuxaccessibility/bridge.cpp @@ -65,6 +65,7 @@ QSpiAccessibleBridge::QSpiAccessibleBrid { dbusConnection = new DBusConnection(); connect(dbusConnection, SIGNAL(enabledChanged(bool)), this,
Bug#1033995: marked as done (qtbase-opensource-src: Fix accessibility of qt5 applications run as root)
Your message dated Sun, 09 Apr 2023 18:51:39 + with message-id and subject line Bug#1033995: fixed in qtbase-opensource-src 5.15.8+dfsg-4 has caused the Debian Bug report #1033995, regarding qtbase-opensource-src: Fix accessibility of qt5 applications run as root to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 1033995: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033995 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems --- Begin Message --- Source: qtbase-opensource-src Version: 5.15.8+dfsg-3 Severity: important Tags: patch upstream Forwarded: https://bugreports.qt.io/browse/QTBUG-43674 Hello, Currently, qt5 applications, when run in sudo, are not accessible to screen readers. This is because the accessibility layer does not manage to connect to the accessibility bus to export the application content: https://bugreports.qt.io/browse/QTBUG-43674 Most of the support was merged into qt5, but there is a little fix missing, that was missed by upstream. I have attached the fix, it is very simple: the ordering in QSpiAccessibleBridge::QSpiAccessibleBridge used to be - new DBusConnection() creates the dbusConnection object - the DBusConnection::DBusConnection constructor connects to the atspi bus - connect the enabledChanged signal and this patch changes it to: - new DBusConnection() creates the dbusConnection object - connect the enabledChanged signal - the DBusConnection::init method connects to the atspi bus This is needed in the root case because since in that case it cannot access the user session dbus, it uses a synchronous method, in which case the enabledChanged signal is emitted from the DBusConnection::DBusConnection constructor, and thus lost forever since it was not connected yet at that time. So we need to connect the signal before connecting to the atspi bus (and get the enabledChanged event). This is particularly important because the calamares installer is based on qt5 and runs as root, and it currently is completely inaccessible to blind users, and this fix makes it possible for blind users to use it. I have confirmed that this fixes the issue for bookworm, would it be possible to upload to unstable? I'll then handle requesting the unblock from the release team. Samuel -- System Information: Debian Release: 12.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, arm64 Kernel: Linux 6.2.0 (SMP w/8 CPU threads; PREEMPT) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled From: Frederik Gladhorn Date: Tue, 12 Sep 2017 09:22:30 + (+0200) Subject: Fix accessibility on XCB when running as root X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commitdiff_plain;h=4ee3703ffaf063047285247016ee9e5c07ef3b53;hp=689606de91faecf91f1f92e8d355789d9be62d2f Forwarded: https://bugreports.qt.io/browse/QTBUG-43674 Fix accessibility on XCB when running as root Accessibility actually works when running applications as root, but we would never properly connect, since the enabledChanged signal would be emitted from the constructor in this case. Only applications running as root would be affected, because all other applications would go through the asynchronous pattern of getting the bus address from dbus instead. Since running apps as root won't let them access the session bus, the xatom is the way to go. [ChangeLog][QtGui][Accessibility] On XCB applications running as root are now accessible. Task-number: QTBUG-43674 Change-Id: I82cdc35f00693a8366dfcdab2f2c3c6dc5f5b783 --- --- src/platformsupport/linuxaccessibility/bridge.cpp |1 + src/platformsupport/linuxaccessibility/dbusconnection.cpp |8 src/platformsupport/linuxaccessibility/dbusconnection_p.h |1 + 3 files changed, 10 insertions(+) --- a/src/platformsupport/linuxaccessibility/bridge.cpp +++ b/src/platformsupport/linuxaccessibility/bridge.cpp @@ -65,6 +65,7 @@ QSpiAccessibleBridge::QSpiAccessibleBrid { dbusConnection = new DBusConnection(); connect(dbusConnection, SIGNAL(enabledChanged(bool)), this,