Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-105752

a11y AT-SPI: D-Bus reply for "GetAttributeValue" text method has incorrect format

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 6.4.0 RC1, 6.5.0 Beta1
    • 6.5
    • None
    • Debian testing, qtbase self-compiled from dev branch as of commit 371214dea7f92b3170d0239b3d9944275adf951a
    • Linux/X11
    • e6599bfa61 (qt/qtbase/dev) e6599bfa61 (qt/tqtc-qtbase/dev) db0db36ddc (qt/qtbase/6.4) db0db36ddc (qt/tqtc-qtbase/6.4)

    Description

      Calling the "GetAttributeValue" method from the AT-SPI text interface results in an incorrect D-Bus reply being sent by Qt.

      Steps to reproduce:

      (s.a. QTBUG-105281 for a similar scenario that also includes a screencast)

      1) start Accerciser (https://wiki.gnome.org/Apps/Accerciser)

      2) build and run the "textedit" example from qtbase:

      $ qtbase/examples/widgets/richtext/textedit/textedit

      3) navigate to the example's text node in Accerciser's a11y treeview of the application
      4) query a text attribute using Accerciser's IPython console which makes use of the "GetAttributeValue" method of the AT-SPI Tex tinterface:

      In [22]: acc.queryText().getAttributeValue(1, "family-name")
      

      Actual result:

      An error message is shown, indicating that the D-Bus reply of the method has an invalid D-Bus type/signature:

      In [22]: acc.queryText().getAttributeValue(1, "family-name")
      ---------------------------------------------------------------------------
      Error                                     Traceback (most recent call last)
      /usr/lib/python3/dist-packages/pyatspi/__init__.py in <module>
      ----> 1 acc.queryText().getAttributeValue(1, "family-name")
      
      /usr/lib/python3/dist-packages/pyatspi/text.py in getAttributeValue(self, offset, attributeName)
          213                 to "name", if defined.
          214                 """
      --> 215                 return Atspi.Text.get_text_attribute_value(self.obj, offset, attributeName)
          216 
          217         def getAttributes(self, offset):
      
      Error: atspi_error: Call to "GetAttributeValue" returned signature siib; expected s (1)
      

      Expected result:

      No error. The value of the requested attribute should be printed.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            smd Jan Arve
            michaelweghorn Michael Weghorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes