When running the following example, wrong drag and drop behaviour can be observed along with a signal not being sent when it seems like it should:
- Run the example
- Drag the orange rectangle somewhere in the window
The rectangle is moved to the new position on mouse up, and stays there until another drag is started. The dragMouseArea onReleased handler is called on mouse up.
The rectangle is moved to the new position on moving the mouse after the drag. The dragMouseArea onReleased handler is not called until you click and release again. The entire GUI is unresponsive until you click the mouse to trigger the mouse release signal.
If you comment out the line Drag.dragType: Drag.Automatic then drag and drop works differently (as expected) but also the onReleased handler is now called on mouse up after the drag.
I have tested this on older versions of Qt (5.9, 5.10, 5.11) and all of them work as expected.
You can also see this broken behaviour when running the externaldraganddrop Qt example app http://doc.qt.io/qt-5/qtquick-externaldraganddrop-example.html