Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
5.15.0
-
None
-
Windows 10
Qt 5.15.0
-
-
e6d85cf28 (dev), a884cf6e8 (tqtc/lts-6.5), 9557d1ca9 (6.6)
Description
Start the attached application:
A QMainWindow appears with a QDockWidget in it. The QDockWidget contains a QListWidget with some pre-defined list entries. After 5 seconds the QDockWidget is deleted by a QTimer which has been started in the main window constructor.
Before the QDockWidget is deleted do one of the following:
- Drag the QDockWidget out of the QMainWindow and back in. Do this in a way that the drop area is marked but do not release the QDockWidget. Keep it grabbed by the mouse.
- Drag one of the list items in the QListWidget but do not drop it.
Result: Crash in both cases as soon as the QDockWidget is deleted.
Motivation:
We are working on a huge multi-peer, multi-user system. Some user actions cause the creation or deletion of QDockWidget instances not only on their own but also on other peers. If one of the other users happens to drag either a QDockWidget or anything within it while this widget is deleted by an external user event than this peer crashes.
We haven't found a reliable workaround so far because there is even no way to detect if such a drag action is currently in progress.