Skip to content
Commit ca40063c authored by Harald Sitter's avatar Harald Sitter 🐧
Browse files

do not crash qaccessible by causing a resize in a resize event

Summary:
When enabling accessibility qaccessible will automatically add a11y support
constructs to core qt types such as qtableview.
Unfortunately for qtableview specifically a change of the layout/size will
discard the accessible objects modeling the individual cells in our table.
Combined with the way we control layout through the model [I am not sure
why we do this to begin with] this can result in call chains where
qaccessible triggers a resizeEvent which we'll handle by rejiggering
our model to get a new layout, resulting in qaccessible deleting the
object which originally caused the event and ending in a segfault.

To prevent this problem we delay the rejiggering of our model by running
the call through the eventloop (i.e. the resize is executed once the stack
unwinds again to the event loop).

CHANGELOG: Fixed a crash when searching with accessibility support enabled
BUG: 374933

Also see https://bugreports.qt.io/browse/QTBUG-58153

Test Plan: spent a good while searching and copy pasting and all that fun stuff. no more crashing.

Reviewers: gladhorn, cfeck

Reviewed By: cfeck

Subscribers: cfeck, anthonyfieroni, #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D6624
parent 9d9e67bd
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment