summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorJan Arve Saether <jan-arve.saether@digia.com>2013-07-02 16:13:31 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-02 16:33:08 +0200
commit14721becc362b22aea393dcb92e336f0f9820f6f (patch)
tree243db7c5539bf661f242748f76144416c415ef81 /src/plugins/platforms
parent671d6075127bf7cb2d6c1c7ae539c266a320604e (diff)
Do not call QAccessible::child() with a negative index.
Fix assert on Windows: QFATAL : tst_QAbstractItemView::testChangeEditorState(): ASSERT: "index_ >= 0" in file itemviews.cpp, line 1123 Change-Id: I4f19c68bbe00d9c75768e7125cf3b33bc09a09e5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
index ce61a8b092..93592eb969 100644
--- a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
+++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp
@@ -564,15 +564,10 @@ HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::accLocation(long *pxLeft, long
if (!accessible)
return E_FAIL;
- QRect rect;
- if (varID.lVal) {
- QAccessibleInterface *child = accessible->child(varID.lVal - 1);
- if (!child || !child->isValid())
- return E_FAIL;
- rect = child->rect();
- } else {
- rect = accessible->rect();
- }
+ QAccessibleInterface *acc = childPointer(accessible, varID);
+ if (!acc || !acc->isValid())
+ return E_FAIL;
+ const QRect rect = acc->rect();
*pxLeft = rect.x();
*pyTop = rect.y();