Discussion:
[Kde-accessibility] question about debugging QT AT-SPI support
Mike Gorse
2014-09-23 04:13:26 UTC
Permalink
Hi,

I'm trying to run yast, the configuration tool used by SUSE. When I use
the qt5 back end, I get accessibility via AT-SPI when it is run as my
normal user but not when run as root. I'm trying to figure out why the
bridge doesn't seem to work / be enabled when running as root. One of my
problems was that DBUS_SESSION_BUS_ADDRESS was not being set in my
session, but it still does not work even after I check that it is set. Is
there a good way to debug it / a good place to start? I tried adding lines
into dbusconnection.cpp to write text to qDebug(), hoping that it would
result in my seeing the text on stdout or stderr, but it seems to have no
effect even if I don't run yast as root and the bridge is working
normally. Perhaps there's some initialization that I need to do--I'm
really not familiar with the code. :(

THanks,
-Mike
Frederik Gladhorn
2014-09-24 15:44:24 UTC
Permalink
Hi Mike,
Post by Mike Gorse
Hi,
I'm trying to run yast, the configuration tool used by SUSE. When I use
the qt5 back end, I get accessibility via AT-SPI when it is run as my
normal user but not when run as root. I'm trying to figure out why the
bridge doesn't seem to work / be enabled when running as root. One of my
problems was that DBUS_SESSION_BUS_ADDRESS was not being set in my
session, but it still does not work even after I check that it is set. Is
there a good way to debug it / a good place to start? I tried adding lines
into dbusconnection.cpp to write text to qDebug(), hoping that it would
result in my seeing the text on stdout or stderr, but it seems to have no
effect even if I don't run yast as root and the bridge is working
normally. Perhaps there's some initialization that I need to do--I'm
really not familiar with the code. :(
I think it's most likely because the Qt bridge uses the session bus to get the
a11y bus address. I used this way of implementing it because with for example
Wayland the other way - using XAtoms will not be an option.

I suppose changing the code to prefer the XAtom way of getting the a11y bus
should make this work.

The code in question is in
qtbase/src/platformsupport/linuxaccessibility/dbusconnection.cpp

I will not be able to work on this for the next two weeks (I'll be mostly
offline), so if anyone wants to try changing/implementing this, feel free to do
so.

Cheers,
Frederik
Post by Mike Gorse
THanks,
-Mike
_______________________________________________
kde-accessibility mailing list
https://mail.kde.org/mailman/listinfo/kde-accessibility
Loading...