Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
5.4.0, 5.9.1
-
None
-
Linux
-
-
d23562da1c4cb525d4012bee55bd665c6cafef04, db346e711 (dev), dd8b648e6 (6.5), 9a35bd02d (dev), b71d37a80 (6.5)
Description
The AT-SPI bridge may not initialize when running as root. I noticed this with YaST under SUSE, which, unfortunately, runs its UI as root when configuring anything system-wide. When setting up the dbus connection, we call GetAddress on org.a11y.Bus to get the address for the accessibility bus, but this doesn't work if DBUS_SESSION_BUS_ADDRESS doesn't match the session bus address for the user's ain session. Libatspi tries first to get the bus address from an atom in the X session, and it may be desirable to do this, although it is specific to X11.
Another related issue is that I believe calling ScreenReaderEnabled will return false when running as a user other than the user running the screen reader (ie, root); not sure how best to fix this.
Attachments
For Gerrit Dashboard: QTBUG-43674 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
106323,3 | A11y: query a11y bus address from X display | dev | qt/qtbase | Status: MERGED | -2 | 0 |
205196,11 | Fix accessibility on XCB when running as root | dev | qt/qtbase | Status: MERGED | +2 | 0 |
471241,9 | Revert "fix AT_SPI_BUS_ADDRESS actually working" | dev | qt/qtbase | Status: MERGED | +2 | 0 |
472368,2 | Fix accessibility on XCB when running as root | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |
473162,2 | Revert "fix AT_SPI_BUS_ADDRESS actually working" | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |