From 25c6908c80217ab7cae46e971ec5b04e3fab361e Mon Sep 17 00:00:00 2001 From: Jan Arve Saether Date: Thu, 20 Dec 2012 16:04:17 +0100 Subject: Do not crash in the bridge because of inconsistent hierarchy Change-Id: I732b624b9918ff4ab59ef46322fd42167b438a8d Reviewed-by: Frederik Gladhorn --- src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp index f1bdc77303..5902f05663 100644 --- a/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp +++ b/src/plugins/platforms/windows/accessible/qwindowsmsaaaccessible.cpp @@ -767,9 +767,11 @@ HRESULT STDMETHODCALLTYPE QWindowsMsaaAccessible::get_accChild(VARIANT varChildI // actually ask for the same object. As a consequence, we need to clone ourselves: if (QAccessibleInterface *par = accessible->parent()) { const int indexOf = par->indexOfChild(accessible); - QAccessibleInterface *clone = par->child(indexOf); + if (indexOf == -1) + qWarning() << "inconsistent hierarchy, parent:" << par << "child:" << accessible; + else + acc = par->child(indexOf); delete par; - acc = clone; } } } -- cgit v1.2.3