[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1113904: trixie-pu: package brltty/6.7-3.1+deb13u1



Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: brltty@packages.debian.org
Control: affects -1 + src:brltty
User: release.debian.org@packages.debian.org
Usertags: pu

Hello,

I have uploaded brltty_6.7-3.1+deb13u1 for inclusion in Trixie.

[ Reason ]
When, on the gui desktop, focus is brought to a widget that doesn't
expose a text interface to the at-spi2 accessibility framework, brltty
still tries to get text, and this produces a warning in the application.

[ Impact ]
When users are trying to debug an issue with screen reading for
accessibility, they see this warning and believe there is something to
fix, while this is actually benign. Debugging accessibility issues is
already difficult, this makes it even more difficult by diverging people
from the warnings they should really look at.

[ Tests ]
Manual test

[ Risks ]
The code is quite trivial and was tested upstream since june.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
It makes brltty not restart looking at text content when the
widget does not actually expose a text interface.

The selection handler also needed to be modified because there may now
be no widget being looked at by brltty.
diff -Nru brltty-6.7/debian/changelog brltty-6.7/debian/changelog
--- brltty-6.7/debian/changelog	2025-05-02 17:30:21.000000000 +0200
+++ brltty-6.7/debian/changelog	2025-09-03 23:42:53.000000000 +0200
@@ -1,3 +1,10 @@
+brltty (6.7-3.1+deb13u1) trixie; urgency=medium
+
+  * patches/git-notext-noread: AtSpi2: not manage widgets without text
+    interface.
+
+ -- Samuel Thibault <sthibault@debian.org>  Wed, 03 Sep 2025 23:42:53 +0200
+
 brltty (6.7-3.1) unstable; urgency=medium
 
   [ Lucas Nussbaum ]
diff -Nru brltty-6.7/debian/patches/git-notext-noread brltty-6.7/debian/patches/git-notext-noread
--- brltty-6.7/debian/patches/git-notext-noread	1970-01-01 01:00:00.000000000 +0100
+++ brltty-6.7/debian/patches/git-notext-noread	2025-09-03 23:42:49.000000000 +0200
@@ -0,0 +1,43 @@
+commit e541b4ca52b6ae220813a80b218a41c2ff4d4818
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date:   Wed Jun 4 14:58:30 2025 +0200
+
+    AtSpi2: do not manage widgets without text interface
+    
+    We will not get any content anyway, and trying to call GetText on the
+    will make them emit warnings:
+    
+    CRITICAL **: 14:14:10.233: impl_GetText: assertion 'ATK_IS_TEXT (user_data)' failed
+
+diff --git a/Drivers/Screen/AtSpi2/a2_screen.c b/Drivers/Screen/AtSpi2/a2_screen.c
+index c8df1f24e..bb20b9c04 100644
+--- a/Drivers/Screen/AtSpi2/a2_screen.c
++++ b/Drivers/Screen/AtSpi2/a2_screen.c
+@@ -730,7 +730,6 @@ static void restartTerm(const char *sender, const char *path) {
+ /* Switched to a new object, check whether we want to read it, and if so, restart with it */
+ static void tryRestartTerm(const char *sender, const char *path) {
+   if (curPath) finiTerm();
+-  restartTerm(sender, path);
+ 
+   curRole = getRole(sender, path);
+   logMessage(LOG_CATEGORY(SCREEN_DRIVER),
+@@ -750,6 +749,9 @@ static void tryRestartTerm(const char *sender, const char *path) {
+   }
+ 
+   if (requested) curQuality = SCQ_GOOD;     
++
++  if (curQuality != SCQ_NONE)
++    restartTerm(sender, path);
+ }
+ 
+ /* Get the state of an object */
+@@ -1882,6 +1884,9 @@ setSelection_AtSpi2Screen (int beginOffset, int endOffset) {
+   dbus_int32_t begin = beginOffset;
+   dbus_int32_t end = endOffset;
+ 
++  if (!curSender)
++    return 0;
++
+   msg = new_method_call(curSender, curPath, SPI2_DBUS_INTERFACE_TEXT, "SetSelection");
+   if (!msg)
+     return 0;
diff -Nru brltty-6.7/debian/patches/series brltty-6.7/debian/patches/series
--- brltty-6.7/debian/patches/series	2025-05-02 17:28:21.000000000 +0200
+++ brltty-6.7/debian/patches/series	2025-09-03 23:42:53.000000000 +0200
@@ -4,3 +4,4 @@
 disable-synth-callback.patch
 git-make-shuffle
 fix_german_translation_for_brltty_6.7
+git-notext-noread

Reply to: