Package: release.debian.org Severity: normal Tags: trixie X-Debbugs-Cc: [email protected] Control: affects -1 + src:brltty User: [email protected] 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 <[email protected]> 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 <[email protected]> +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

