From 30ad53a0a6b1f6d5d50fe12777dc1045dec22803 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 9 Jan 2012 13:13:33 +0100 Subject: Make QAccessibleInterface::indexOfChild() 0-based. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Makes the code nicer and more consistent with the rest of the world. Change-Id: I5ba0ee39f5b0afd1a079a3cea9990d123955ed3f Reviewed-by: Jan-Arve Sæther --- src/widgets/accessible/qaccessiblewidget.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/widgets') diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp index cfc76bc253..3c215ba64c 100644 --- a/src/widgets/accessible/qaccessiblewidget.cpp +++ b/src/widgets/accessible/qaccessiblewidget.cpp @@ -424,14 +424,16 @@ int QAccessibleWidget::navigate(QAccessible::RelationFlag relation, int entry, switch (relation) { case QAccessible::Covers: if (entry > 0) { - QAccessibleInterface *pIface = QAccessible::queryAccessibleInterface(parentObject()); + QAccessibleInterface *pIface = parent(); if (!pIface) return -1; QRect r = rect(); int sibCount = pIface->childCount(); QAccessibleInterface *sibling = 0; - for (int i = pIface->indexOfChild(this) + 1; i <= sibCount && entry; ++i) { + // FIXME: this code looks very suspicious + // why start at this index? + for (int i = pIface->indexOfChild(this) + 2; i <= sibCount && entry; ++i) { sibling = pIface->child(i - 1); if (!sibling || (sibling->state().invisible)) { delete sibling; @@ -460,8 +462,9 @@ int QAccessibleWidget::navigate(QAccessible::RelationFlag relation, int entry, QRect r = rect(); int index = pIface->indexOfChild(this); QAccessibleInterface *sibling = 0; - for (int i = 1; i < index && entry; ++i) { - sibling = pIface->child(i - 1); + // FIXME: why end at index? + for (int i = 0; i < index && entry; ++i) { + sibling = pIface->child(i); Q_ASSERT(sibling); if (!sibling || (sibling->state().invisible)) { delete sibling; @@ -595,10 +598,7 @@ int QAccessibleWidget::childCount() const int QAccessibleWidget::indexOfChild(const QAccessibleInterface *child) const { QWidgetList cl = childWidgets(widget()); - int index = cl.indexOf(qobject_cast(child->object())); - if (index != -1) - ++index; - return index; + return cl.indexOf(qobject_cast(child->object())); } // from qwidget.cpp -- cgit v1.2.3