From 588b752e33f3403c743457a9cbb1c3a94dd81c70 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Mon, 12 Sep 2022 23:23:08 +0200 Subject: [PATCH] AtSpiAdaptor: sync Cache signatures to at-spi2-core 2.45.91 Those signatures are the ones used by Gtk for some time now. For Qt it does not make a huge difference, as GetItem returns an empty list and the signals are never emited. The Cache.xml copy had to include a workaround: adding back the direction on signal args, without which qdbusxml2cpp.cpp seems to mistake those for direction="out" and requests "Out0" annotations. Signed-off-by: Yann Dirson --- src/gui/accessible/linux/dbusxml/Cache.xml | 115 +++++++++++++++--- .../linux/qspi_struct_marshallers.cpp | 6 +- .../linux/qspi_struct_marshallers_p.h | 3 +- 3 files changed, 106 insertions(+), 18 deletions(-) diff --git a/src/gui/accessible/linux/dbusxml/Cache.xml b/src/gui/accessible/linux/dbusxml/Cache.xml index 01c52810ac1..6aa17c576b3 100644 --- a/src/gui/accessible/linux/dbusxml/Cache.xml +++ b/src/gui/accessible/linux/dbusxml/Cache.xml @@ -1,21 +1,106 @@ - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/gui/accessible/linux/qspi_struct_marshallers.cpp b/src/gui/accessible/linux/qspi_struct_marshallers.cpp index 032a9fe8b18..e1aee81db34 100644 --- a/src/gui/accessible/linux/qspi_struct_marshallers.cpp +++ b/src/gui/accessible/linux/qspi_struct_marshallers.cpp @@ -44,7 +44,8 @@ QDBusArgument &operator<<(QDBusArgument &argument, const QSpiAccessibleCacheItem argument << item.path; argument << item.application; argument << item.parent; - argument << item.children; + argument << item.index_in_parent; + argument << item.child_count; argument << item.supportedInterfaces; argument << item.name; argument << item.role; @@ -60,7 +61,8 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiAccessibleCac argument >> item.path; argument >> item.application; argument >> item.parent; - argument >> item.children; + argument >> item.index_in_parent; + argument >> item.child_count; argument >> item.supportedInterfaces; argument >> item.name; argument >> item.role; diff --git a/src/gui/accessible/linux/qspi_struct_marshallers_p.h b/src/gui/accessible/linux/qspi_struct_marshallers_p.h index 4338b49dd25..7c69ba5d4b6 100644 --- a/src/gui/accessible/linux/qspi_struct_marshallers_p.h +++ b/src/gui/accessible/linux/qspi_struct_marshallers_p.h @@ -53,7 +53,8 @@ struct QSpiAccessibleCacheItem QSpiObjectReference path; QSpiObjectReference application; QSpiObjectReference parent; - QSpiObjectReferenceArray children; + int index_in_parent; + int child_count; QStringList supportedInterfaces; QString name; uint role;