From 9b88b0fe2f728a4345163fe67be2d8aa67c57975 Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Sat, 23 Jul 2022 09:31:14 +0800 Subject: [PATCH] Send string to Atspi DBus interface on value changed for comboboxes Orca only accepts string or list type for object:property-change:accessible-name events. This fixes NameChanged not being announced by Orca. Change-Id: Ib30fed94aad70b98400deec5e31630b4f8c22e26 Reviewed-by: Volker Hilsheimer (cherry picked from commit c6b1c3381461b01255b432468fe38ed5c32b6537) Reviewed-by: Qt Cherry-pick Bot --- src/gui/accessible/linux/atspiadaptor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/accessible/linux/atspiadaptor.cpp b/src/gui/accessible/linux/atspiadaptor.cpp index defab45efa9..c6905e89322 100644 --- a/src/gui/accessible/linux/atspiadaptor.cpp +++ b/src/gui/accessible/linux/atspiadaptor.cpp @@ -1001,7 +1001,9 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event) // Combo Box with AT-SPI likes to be special // It requires a name-change to update caches and then selection-changed QString path = pathForInterface(iface); - QVariantList args1 = packDBusSignalArguments("accessible-name"_L1, 0, 0, variantForPath(path)); + QVariantList args1 = packDBusSignalArguments( + "accessible-name"_L1, 0, 0, + QVariant::fromValue(QDBusVariant(iface->text(QAccessible::Name)))); sendDBusSignal(path, ATSPI_DBUS_INTERFACE_EVENT_OBJECT ""_L1, "PropertyChange"_L1, args1); QVariantList args2 = packDBusSignalArguments(QString(), 0, 0, QVariant::fromValue(QDBusVariant(QVariant(0))));