Drag but no drop under Wayland
I’ve encountered a problem with drag and drop functionality in Qt5 under Wayland. When I compile and run the Qt5 draggableicons
example program:
https://doc.qt.io/qt-5/qtwidgets-draganddrop-draggableicons-example.html
from Fedora 31 package qt5-qtbase-examples-5.12.5-1.fc31.x86_64 the dropEvent never fires.
When I run the Qt4 version (from package qt-examples-4.8.7-50.fc31.x86_64) of the same program it works just fine.
/usr/lib64/qt4/examples/draganddrop/draggableicons/draggableicons
I followed the advice here:
https://fedoraproject.org/wiki/How_to_debug_Wayland_problems
Because this occurs on the mutter
compositor but not on weston
, I think this is a mutter
problem. I ran the application under both compositors like this:
WAYLAND_DEBUG=1 draggableicons
Comparing the result I see a wl_data_device@11.start_drag()
under both and a wl_data_device@11.drop()
under weston but not the corresponding drop
under mutter. I have also tried mutter-3.35.1-2.fc32.x86_64
from the Rawhide repo, but get the same result.
I can also run this with either version (Qt4 or Qt5)
QT_QPA_PLATFORM=xcb draggableicons
and everything works fine using X.
The mutter log file, qt5version.strace and the weston log file weston.txt are attached.