Hi dear Qt devs,
It's me again!
I am still on my way porting my app OpenTodoList to Qt6. Most of the porting is done and the app generally works on all platforms. However, I noticed something strange on Linux/Wayland:
In my app, I can reorder items in a view via drag and drop. This works fine on all platforms. However, in the case of Linux/Wayland, the items behave strangely after the drag&drop finished. Parts of the GUI don't seem to detect mouse moves anymore and they don't revert their state to what would be expected after the drag&drop finished.
Its a bit difficult to describe, so I made a short screencast that demonstrates the issue:
As you can see, once the item is dropped, the model is updated. However, the items behave incorrectly:
- The item from where I started the drag remains highlighted.
- The handles I use for reordering remain visible (although they should be hidden once no longer hovered).
- For the other items, they don't react to hovered at all (i.e. their drag handle doesn't become visible).
The rest of the GUI is still functional, though. I can e.g. scroll using the mouse wheel (as can be seen in the video as well).
Interestingly, when starting the app with -platform xcb, the problem does not occur. So it's solely an issue on Wayland. Other platforms also behave correctly (from what I tested so far).
For reference, the code of the app is on GitLab: https://gitlab.com/rpdev/opentodolist (on the development branch). The main code that handles drag and drop is in these components:
If you need any further input from my side, please let me know!
- resulted in
QTBUG-111789 Binding loop detected with Drag.Automatic