summaryrefslogtreecommitdiffstats
path: root/src/winmain/qtmain_win.cpp
diff options
context:
space:
mode:
authorJan-Arve Saether <jan-arve.saether@nokia.com>2011-08-12 09:52:15 (GMT)
committerJan-Arve Saether <jan-arve.saether@nokia.com>2011-08-15 12:27:42 (GMT)
commit6f84e64f3500db9901bb518c8c5bd2ca03fbbf42 (patch)
tree764bcb6d46185bc2c009bfd1f2d38d10676313dc /src/winmain/qtmain_win.cpp
parent84f5f63baa4bee04954fbdf3cf3d3126023798af (diff)
downloadQt-6f84e64f3500db9901bb518c8c5bd2ca03fbbf42.zip
Qt-6f84e64f3500db9901bb518c8c5bd2ca03fbbf42.tar.gz
Qt-6f84e64f3500db9901bb518c8c5bd2ca03fbbf42.tar.bz2
Fix a crash in a11y introduced by d289e54f2d2aa066cb3
The problem was that the patch assumed that all AT clients only called get_accChild() after NotifyWinEvent was called with a negative child id argument. However, some AT clients might call get_accRole() and get_accState() with that negative value. Implementations of QAccessibleInterface::role() should be able to make the assumption that the child index is always valid. The safe solution is to always look for the item in the cache if the child index is negative for all IAccessible functions we implement. If its positive or zero, execute as before. Crash could be reproduced by: 1. Start MS narrator 2. launch examples\dialogs\tabdialog 3. Click the tab labeled "Permissions" *crash* assertion in QList, index out of range. Reviewed-by: Frederik Gladhorn
Diffstat (limited to 'src/winmain/qtmain_win.cpp')
0 files changed, 0 insertions, 0 deletions