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 <volker.hilsheimer@qt.io>
(cherry picked from commit c6b1c3381461b01255b432468fe38ed5c32b6537)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Fushan Wen 2022-07-23 09:31:14 +08:00 committed by Qt Cherry-pick Bot
parent 727de65816
commit 9b88b0fe2f

View File

@ -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))));