summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/accessible/widgets/qaccessiblemenu.cpp2
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp
index 4ae1d15..e9e5ca8 100644
--- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp
+++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp
@@ -93,7 +93,7 @@ int QAccessibleMenu::childAt(int x, int y) const
QString QAccessibleMenu::text(Text t, int child) const
{
QString tx = QAccessibleWidgetEx::text(t, child);
- if (tx.size())
+ if (!child && tx.size())
return tx;
switch (t) {
diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp
index d452820..d24f52f 100644
--- a/tests/auto/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp
@@ -2531,6 +2531,12 @@ void tst_QAccessibility::menuTest()
QCOMPARE(interface->actionText(QAccessible::DefaultAction, QAccessible::Name, 4), QString());
QCOMPARE(interface->actionText(QAccessible::DefaultAction, QAccessible::Name, 5), QString("Execute"));
+ // QTBUG-21578 - after setting accessible name on a menu it would no longer
+ // return the right names for it's children.
+ QCOMPARE(interface->text(QAccessible::Name, 1), QString("New..."));
+ file->setAccessibleName("File");
+ QCOMPARE(interface->text(QAccessible::Name, 1), QString("New..."));
+
QAccessibleInterface *iface = 0;
QAccessibleInterface *iface2 = 0;