*** qwindowsmsaaaccessible.cpp Tue Jul 7 12:18:29 2015 --- qwindowsmsaaaccessible.cpp.5.5.0 Tue Jul 7 12:51:58 2015 *************** *** 693,699 **** return E_INVALIDARG; QAccessibleInterface *acc = childPointer(accessible, varChildID); ! if (acc && acc->isValid() ) { *ppdispChild = QWindowsAccessibility::wrap(acc); return S_OK; } --- 689,695 ---- return E_INVALIDARG; QAccessibleInterface *acc = childPointer(accessible, varChildID); ! if (acc) { *ppdispChild = QWindowsAccessibility::wrap(acc); return S_OK; } *************** *** 782,788 **** QString descr; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child || !child->isValid()) return E_FAIL; descr = child->text(QAccessible::Description); } else { --- 778,784 ---- QString descr; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child) return E_FAIL; descr = child->text(QAccessible::Description); } else { *************** *** 807,813 **** QString help; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child || !child->isValid()) return E_FAIL; help = child->text(QAccessible::Help); } else { --- 803,809 ---- QString help; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child) return E_FAIL; help = child->text(QAccessible::Help); } else { *************** *** 866,872 **** QString name; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child || !child->isValid()) return E_FAIL; name = child->text(QAccessible::Name); if (name.isEmpty()) { --- 862,868 ---- QString name; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child) return E_FAIL; name = child->text(QAccessible::Name); if (name.isEmpty()) { *************** *** 914,923 **** QAccessible::Role role; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! ! if (!child || !child->isValid()) return E_FAIL; - role = child->role(); } else { role = accessible->role(); --- 910,917 ---- QAccessible::Role role; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child) return E_FAIL; role = child->role(); } else { role = accessible->role(); *************** *** 953,959 **** QAccessible::State state; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child || !child->isValid() ) return E_FAIL; state = child->state(); } else { --- 947,953 ---- QAccessible::State state; if (varID.lVal) { QAccessibleInterface *child = childPointer(accessible, varID); ! if (!child) return E_FAIL; state = child->state(); } else {