Avoided calling updateAccessibility() from updateMicroFocus if the item was hidden

This had the following negative effect in qmlviewer:
- Every time the qmlviewer logged something to its QPlainTextEdit
  (regardless of if it was visible or not) it would call
  updateMicroFocus (because appending to QPlainTextEdit would move the
  cursor). The result was that the AT client got overloaded with
  accessibility state changes, and response time got really bad.
(cherry picked from commit ad50e45311cce712fbe35641cde973d616ff560d)

Reviewed-by: Frederik Gladhorn
(cherry picked from commit a825b3a9e6132842090e43fae85d2c6c61b2def6)
This commit is contained in:
Jan-Arve Sæther 2011-05-05 16:40:45 +02:00
parent 0154343608
commit 97952e918d

View File

@ -11342,8 +11342,10 @@ void QWidget::updateMicroFocus()
}
#endif
#ifndef QT_NO_ACCESSIBILITY
// ##### is this correct
QAccessible::updateAccessibility(this, 0, QAccessible::StateChanged);
if (isVisible()) {
// ##### is this correct
QAccessible::updateAccessibility(this, 0, QAccessible::StateChanged);
}
#endif
}