https://bugs.kde.org/show_bug.cgi?id=437406
--- Comment #10 from David Edmundson <k...@davidedmundson.co.uk> --- Second bug is, we stop XVisit when wayland says the drag ends, which in theory is after the drop event gets sent to the client. #0 KWin::Xwl::Xvisit::doFinish() (this=0x55555625f6e0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/xwl/drag_wl.cpp:444 #1 0x000055555559197e in KWin::Xwl::Xvisit::leave() (this=0x55555625f6e0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/xwl/drag_wl.cpp:265 #2 0x0000555555591b9e in KWin::Xwl::WlToXDrag::end() (this=0x5555560d53a0) at /home/david/projects/kde5/src/kde/workspace/kwin/src/xwl/drag_wl.cpp:91 #3 0x000055555558e53a in KWin::Xwl::Dnd::endDrag() (this=0x555555f28760) at /home/david/projects/kde5/src/kde/workspace/kwin/src/xwl/dnd.cpp:203 #4 0x000055555558fd01 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Xwl::Dnd::*)()>::call(void (KWin::Xwl::Dnd::*)(), KWin::Xwl::Dnd*, void**) (f=(void (KWin::Xwl::Dnd::*)(KWin::Xwl::Dnd * const)) 0x55555558e4e0 <KWin::Xwl::Dnd::endDrag()>, o=0x555555f28760, arg=0x7fffffffc0c0) at /opt/qt5/include/QtCore/qobjectdefs_impl.h:152 #5 0x000055555558fc68 in QtPrivate::FunctionPointer<void (KWin::Xwl::Dnd::*)()>::call<QtPrivate::List<>, void>(void (KWin::Xwl::Dnd::*)(), KWin::Xwl::Dnd*, void**) (f=(void (KWin::Xwl::Dnd::*)(KWin::Xwl::Dnd * const)) 0x55555558e4e0 <KWin::Xwl::Dnd::endDrag()>, o=0x555555f28760, arg=0x7fffffffc0c0) at /opt/qt5/include/QtCore/qobjectdefs_impl.h:185 #6 0x000055555558fb95 in QtPrivate::QSlotObject<void (KWin::Xwl::Dnd::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555f251d0, r=0x555555f28760, a=0x7fffffffc0c0, ret=0x0) at /opt/qt5/include/QtCore/qobjectdefs_impl.h:418 #7 0x00007ffff43e696d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffc0c0, r=0x555555f28760, this=0x555555f251d0) at ../../include/QtCore/../../../../../src/Qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #8 doActivate<false>(QObject*, int, void**) (sender=0x5555556bb810, signal_index=13, argv=0x7fffffffc0c0) at /home/david/projects/kde5/src/Qt5/qtbase/src/corelib/kernel/qobject.cpp:3886 #9 0x00007ffff43ddd6b in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at /home/david/projects/kde5/src/Qt5/qtbase/src/corelib/kernel/qobject.cpp:3946 #10 0x00007ffff4f514d8 in KWaylandServer::SeatInterface::dragEnded() (this=0x5555556bb810) at src/server/KWaylandServer_autogen/EWIEGA46WW/moc_seat_interface.cpp:420 #11 0x00007ffff4fbf1ae in KWaylandServer::SeatInterfacePrivate::endDrag(unsigned int) (this= 0x555555709520, serial=27) #12 0x00007ffff4fc21b3 in KWaylandServer::SeatInterface::notifyPointerButton(unsigned int, KWaylandServer::PointerButtonState) (this=0x5555556bb810, button=272, state=KWaylandServer::PointerButtonState::Released) at /home/david/projects/kde5/src/kde/workspace/kwayland-server/src/server/seat_interface.cpp:756 #13 0x00007ffff7890362 in KWin::DragAndDropInputFilter::pointerEvent(QMouseEvent*, unsigned int) (this=0x555555a0e460, event=0x7fffffffc938, nativeButton=272) at /home/david/projects/kde5/src/kde/workspace/kwin/src/input.cpp:1956 But because the drop event goes through KWayland::Client it is obviously async, but delivery of the end isnt. We either need to send both things through kwayland::client or none. -- You are receiving this mail because: You are watching all bug changes.