Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
6.2.4
-
None
Description
While creating a new QFrame that has checkable QPushButtons and calling setChecked, an accessibility event is being created:
#ifndef QT_NO_ACCESSIBILITY
QAccessible::State s;
s.checked = true;
QAccessibleStateChangeEvent event(this, s);
QAccessible::updateAccessibility(&event);
#endif
This causes a new QWindowsUiaMainProvider to be allocated on the heap. Under some timings, this line:
auto *provider = qobject_cast<QWindowsUiaMainProvider *>(providerCache->providerForId(id));
causes a crash due to a corrupted obj returning from providerCache->providerForId(id)
In our scenario, we are opening multiple (<6) windows that all have a checkable QPushButton and are checked right after creating the window.