diff options
author | Jan Arve Saether <jan-arve.saether@qt.io> | 2018-04-23 11:39:56 +0200 |
---|---|---|
committer | Jan Arve Sæther <jan-arve.saether@qt.io> | 2018-05-02 09:16:22 +0000 |
commit | c1ead32a84db96fd1b48e47d81511adf64cfe410 (patch) | |
tree | b577cf4984b00e9aaf8c4fce901e6552721d1f59 /src/plugins/platforms/xcb | |
parent | 364bd6ca74b059ffe8ae367e1562645a3ed0855e (diff) |
Fix crash in QMacPanGestureRecognizer
The reason it crashed was this:
1. Button was pressed => _panTimer started with the graphics view as
destination.
2. Button was released => the graphicsview is destroyed
3. 300 ms later: Qt tries to deliver TimerEvent from _panTimer to the
graphics view. Unfortunately, the graphics view is deleted, but Qt
doesn't know that... (*crash*)
We therefore chose to start the timer with a destination we are controlling the
lifetime of: the QMacPanGestureRecognizer. Inside the timerEvent of that we can
check if the actual target is already destroyed.
Task-number: QTBUG-60404
Change-Id: Iff8f5b7217de42c4c5cf551ca507f0cff1c99a78
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb')
0 files changed, 0 insertions, 0 deletions