-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
4.8.0
-
windows Xp
Given two widgets P and C, where C is a child of P, the following sequence is possible:
1. ~QWidget of P calls clearGuards.
2. ~QWidget of P calls deleteChildren, deleting C.
3. ~QWidget of C calls clearFocus, causing QApplication to emit focusChanged.
4. Some other object receives focusChanged and somehow gets hold of P (see below). It uses a QPointer to remember P.
5. ~QObject of P skips clearGuards, because P has been a QWidget.
6. The deletion of P completes.
And this causes a crash. Code is attached.