Bug 486872

Summary: Dragging files in wayland session does not show appropriate icon for symlinks or other
Product: [Applications] dolphin Reporter: ors0092
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: kde, kfm-devel
Priority: NOR    
Version: 24.02.2   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: x11
wayland

Description ors0092 2024-05-10 19:53:58 UTC
Created attachment 169368 [details]
x11

SUMMARY:
While dragging files, and pressing either, CTRL or SHIFT or ALT or ALT+SHIFT the little icon next to the cursor doesn't change, while being in a Wayland session, compared to a X11 session, where the little icon changes (plus symbol goes into an arrow, when pressing the appropriate shortcut, into a symlink icon for example)

STEPS TO REPRODUCE
1. Go into Wayland session
2. Drag a file and observe the little green plus sign next to your cursor
3. press Ctrl+Shift OR Alt and observe it is still stuck on the plus symbol, or appearing randomly a hand.

OBSERVED RESULT
It is stuck or randomly switches to a hand (move) procedure

EXPECTED RESULT
Little icon should change appropriately while pressing the above mentioned keystrokes as seen in the videos.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: EndeavourOS, kernel: 6.8.9-arch1-2 (64bit)
(available in About System)
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0

ADDITIONAL INFORMATION
Comment 1 ors0092 2024-05-10 19:58:54 UTC
Created attachment 169369 [details]
wayland
Comment 2 ors0092 2024-05-11 11:42:30 UTC
Application: Dolphin (dolphin), signal: Segmentation fault


This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[New LWP 2267]
[New LWP 2276]
[New LWP 2283]
[New LWP 2269]
[New LWP 2268]
[New LWP 2277]
[New LWP 2278]
[New LWP 2275]
[New LWP 2293]
[New LWP 2284]
[New LWP 2292]
[New LWP 2294]
[New LWP 2270]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/dolphin'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000072aef92a8e44 in ?? () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x72aef3805ec0 (LWP 2267))]
Cannot QML trace cores :(
[Current thread is 1 (Thread 0x72aef3805ec0 (LWP 2267))]

Thread 13 (Thread 0x72aef18006c0 (LWP 2270)):
#0  0x000072aef931c39d in poll () at /usr/lib/libc.so.6
#1  0x000072aef7392ce8 in ??? () at /usr/lib/libQt6WaylandClient.so.6
#2  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#3  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#4  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 12 (Thread 0x72aeb76006c0 (LWP 2294)):
#0  0x000072aef931c910 in ppoll () at /usr/lib/libc.so.6
#1  0x000072aef9ab3d83 in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#2  0x000072aef8b54023 in ??? () at /usr/lib/libQt6Network.so.6
#3  0x000072aef8ae58ac in ??? () at /usr/lib/libQt6Network.so.6
#4  0x000072aef8add88a in QAbstractSocket::waitForReadyRead(int) () at /usr/lib/libQt6Network.so.6
#5  0x000072aefba76d8a in ??? () at /usr/lib/libKF6KIOCore.so.6
#6  0x000072aefbb5fadd in ??? () at /usr/lib/libKF6KIOCore.so.6
#7  0x000072aefbb35b52 in ??? () at /usr/lib/libKF6KIOCore.so.6
#8  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#9  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#10 0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 11 (Thread 0x72aeca4006c0 (LWP 2292)):
#0  0x000072aef931c910 in ppoll () at /usr/lib/libc.so.6
#1  0x000072aef9ab3d83 in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#2  0x000072aef8b54023 in ??? () at /usr/lib/libQt6Network.so.6
#3  0x000072aef8ae58ac in ??? () at /usr/lib/libQt6Network.so.6
#4  0x000072aef8add88a in QAbstractSocket::waitForReadyRead(int) () at /usr/lib/libQt6Network.so.6
#5  0x000072aefba76d8a in ??? () at /usr/lib/libKF6KIOCore.so.6
#6  0x000072aefbb5fadd in ??? () at /usr/lib/libKF6KIOCore.so.6
#7  0x000072aefbb35b52 in ??? () at /usr/lib/libKF6KIOCore.so.6
#8  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#9  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#10 0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 10 (Thread 0x72aecb4006c0 (LWP 2284)):
#0  0x000072aef931c910 in ppoll () at /usr/lib/libc.so.6
#1  0x000072aef9ab3d83 in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#2  0x000072aef8b54023 in ??? () at /usr/lib/libQt6Network.so.6
#3  0x000072aef8ae58ac in ??? () at /usr/lib/libQt6Network.so.6
#4  0x000072aef8add88a in QAbstractSocket::waitForReadyRead(int) () at /usr/lib/libQt6Network.so.6
#5  0x000072aefba76d8a in ??? () at /usr/lib/libKF6KIOCore.so.6
#6  0x000072aefbb5fadd in ??? () at /usr/lib/libKF6KIOCore.so.6
#7  0x000072aefbb35b52 in ??? () at /usr/lib/libKF6KIOCore.so.6
#8  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#9  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#10 0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 9 (Thread 0x72aec8a006c0 (LWP 2293)):
#0  0x000072aef92a34e9 in ??? () at /usr/lib/libc.so.6
#1  0x000072aef92a6242 in pthread_cond_timedwait () at /usr/lib/libc.so.6
#2  0x000072aef9abef68 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#3  0x000072aef9ac0161 in ??? () at /usr/lib/libQt6Core.so.6
#4  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#5  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#6  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 8 (Thread 0x72aee96006c0 (LWP 2275)):
#0  0x000072aef92a34e9 in ??? () at /usr/lib/libc.so.6
#1  0x000072aef92a6242 in pthread_cond_timedwait () at /usr/lib/libc.so.6
#2  0x000072aef9abef68 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#3  0x000072aef9ac0161 in ??? () at /usr/lib/libQt6Core.so.6
#4  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#5  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#6  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 7 (Thread 0x72aedca006c0 (LWP 2278)):
#0  0x000072aef931c39d in poll () at /usr/lib/libc.so.6
#1  0x000072aef80048fd in ??? () at /usr/lib/libglib-2.0.so.0
#2  0x000072aef7fa1f95 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x000072aef9b93389 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#4  0x000072aef9948350 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#5  0x000072aef9a32b20 in QThread::run() () at /usr/lib/libQt6Core.so.6
#6  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#7  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#8  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 6 (Thread 0x72aee8c006c0 (LWP 2277)):
#0  0x000072aef92a34e9 in ??? () at /usr/lib/libc.so.6
#1  0x000072aef92a6242 in pthread_cond_timedwait () at /usr/lib/libc.so.6
#2  0x000072aef9abef68 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#3  0x000072aef9ac0161 in ??? () at /usr/lib/libQt6Core.so.6
#4  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#5  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#6  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 5 (Thread 0x72aef30006c0 (LWP 2268)):
#0  0x000072aef931c39d in poll () at /usr/lib/libc.so.6
#1  0x000072aef80048fd in ??? () at /usr/lib/libglib-2.0.so.0
#2  0x000072aef7fa1f95 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x000072aef9b93389 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#4  0x000072aef9948350 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#5  0x000072aef9a32a20 in QThread::exec() () at /usr/lib/libQt6Core.so.6
#6  0x000072aefb068b1e in ??? () at /usr/lib/libQt6DBus.so.6
#7  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#8  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#9  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 4 (Thread 0x72aef22006c0 (LWP 2269)):
#0  0x000072aef92a34e9 in ??? () at /usr/lib/libc.so.6
#1  0x000072aef92a5ed9 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x000072aef9abefd0 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#3  0x000072aef7392c68 in ??? () at /usr/lib/libQt6WaylandClient.so.6
#4  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#5  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#6  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 3 (Thread 0x72aed7e006c0 (LWP 2283)):
#0  0x000072aef931c910 in ppoll () at /usr/lib/libc.so.6
#1  0x000072aef9ab3d83 in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#2  0x000072aef8b54023 in ??? () at /usr/lib/libQt6Network.so.6
#3  0x000072aef8ae58ac in ??? () at /usr/lib/libQt6Network.so.6
#4  0x000072aef8add88a in QAbstractSocket::waitForReadyRead(int) () at /usr/lib/libQt6Network.so.6
#5  0x000072aefba76d8a in ??? () at /usr/lib/libKF6KIOCore.so.6
#6  0x000072aefbb5fadd in ??? () at /usr/lib/libKF6KIOCore.so.6
#7  0x000072aefbb35b52 in ??? () at /usr/lib/libKF6KIOCore.so.6
#8  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#9  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#10 0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 2 (Thread 0x72aeea0006c0 (LWP 2276)):
#0  0x000072aef92a34e9 in ??? () at /usr/lib/libc.so.6
#1  0x000072aef92a6242 in pthread_cond_timedwait () at /usr/lib/libc.so.6
#2  0x000072aef9abef68 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt6Core.so.6
#3  0x000072aef9ac0161 in ??? () at /usr/lib/libQt6Core.so.6
#4  0x000072aef9abb619 in ??? () at /usr/lib/libQt6Core.so.6
#5  0x000072aef92a6ded in ??? () at /usr/lib/libc.so.6
#6  0x000072aef932a0dc in ??? () at /usr/lib/libc.so.6

Thread 1 (Thread 0x72aef3805ec0 (LWP 2267)):
[KCrash Handler]
#4  0x000072aef998d30b in QObject::deleteLater() () at /usr/lib/libQt6Core.so.6
#5  0x000072aefbf53cce in ??? () at /usr/lib/libKF6KIOFileWidgets.so.6
#6  0x000072aefa949817 in QWidget::event(QEvent*) () at /usr/lib/libQt6Widgets.so.6
#7  0x000072aefa8fc44d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#8  0x000072aefa9017d3 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#9  0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#10 0x000072aefa960fb4 in ??? () at /usr/lib/libQt6Widgets.so.6
#11 0x000072aefa8fc44d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#12 0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#13 0x000072aef9f7eb64 in QGuiApplicationPrivate::processDrag(QWindow*, QMimeData const*, QPoint const&, QFlags<Qt::DropAction>, QFlags<Qt::MouseButton>, QFlags<Qt::KeyboardModifier>) () at /usr/lib/libQt6Gui.so.6
#14 0x000072aef9fe6f72 in QWindowSystemInterface::handleDrag(QWindow*, QMimeData const*, QPoint const&, QFlags<Qt::DropAction>, QFlags<Qt::MouseButton>, QFlags<Qt::KeyboardModifier>) () at /usr/lib/libQt6Gui.so.6
#15 0x000072aef73dd2e6 in ??? () at /usr/lib/libQt6WaylandClient.so.6
#16 0x000072aef6577596 in ??? () at /usr/lib/libffi.so.8
#17 0x000072aef657400e in ??? () at /usr/lib/libffi.so.8
#18 0x000072aef6576bd3 in ffi_call () at /usr/lib/libffi.so.8
#19 0x000072aef7323645 in ??? () at /usr/lib/libwayland-client.so.0
#20 0x000072aef7323e73 in ??? () at /usr/lib/libwayland-client.so.0
#21 0x000072aef732413c in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0
#22 0x000072aef7392b5e in ??? () at /usr/lib/libQt6WaylandClient.so.6
#23 0x000072aef998c147 in QObject::event(QEvent*) () at /usr/lib/libQt6Core.so.6
#24 0x000072aefa8fc44d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#25 0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#26 0x000072aef99401d2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt6Core.so.6
#27 0x000072aef9b959ac in ??? () at /usr/lib/libQt6Core.so.6
#28 0x000072aef7fa2a89 in ??? () at /usr/lib/libglib-2.0.so.0
#29 0x000072aef80049b7 in ??? () at /usr/lib/libglib-2.0.so.0
#30 0x000072aef7fa1f95 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#31 0x000072aef9b93389 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#32 0x000072aef9948350 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#33 0x000072aefa30a59b in QBasicDrag::drag(QDrag*) () at /usr/lib/libQt6Gui.so.6
#34 0x000072aefa30af89 in QDragManager::drag(QDrag*) () at /usr/lib/libQt6Gui.so.6
#35 0x000072aefa30b2cf in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) () at /usr/lib/libQt6Gui.so.6
#36 0x000072aefc05fa63 in KItemListController::startDragging() () at /usr/lib/libdolphinprivate.so.6
#37 0x000072aefc0580ec in KItemListController::mouseMoveEvent(QGraphicsSceneMouseEvent*, QTransform const&) () at /usr/lib/libdolphinprivate.so.6
#38 0x000072aefc062abb in KItemListController::processEvent(QEvent*, QTransform const&) () at /usr/lib/libdolphinprivate.so.6
#39 0x000072aefc06736e in KItemListView::event(QEvent*) () at /usr/lib/libdolphinprivate.so.6
#40 0x000072aefa8fc44d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#41 0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#42 0x000072aefacbdb37 in ??? () at /usr/lib/libQt6Widgets.so.6
#43 0x000072aefacbf9e9 in ??? () at /usr/lib/libQt6Widgets.so.6
#44 0x000072aefacc9810 in QGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent*) () at /usr/lib/libQt6Widgets.so.6
#45 0x000072aefacc5d6f in QGraphicsScene::event(QEvent*) () at /usr/lib/libQt6Widgets.so.6
#46 0x000072aefa8fc44d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#47 0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#48 0x000072aefacef221 in QGraphicsViewPrivate::mouseMoveEventHandler(QMouseEvent*) () at /usr/lib/libQt6Widgets.so.6
#49 0x000072aefa9497ef in QWidget::event(QEvent*) () at /usr/lib/libQt6Widgets.so.6
#50 0x000072aefa9dbf6a in QFrame::event(QEvent*) () at /usr/lib/libQt6Widgets.so.6
#51 0x000072aef993ed68 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#52 0x000072aefa8fc43d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#53 0x000072aefa901548 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#54 0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#55 0x000072aefa8f457b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/libQt6Widgets.so.6
#56 0x000072aefa95eee7 in ??? () at /usr/lib/libQt6Widgets.so.6
#57 0x000072aefa960370 in ??? () at /usr/lib/libQt6Widgets.so.6
#58 0x000072aefa8fc44d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#59 0x000072aef993fe18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#60 0x000072aef9f75b20 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt6Gui.so.6
#61 0x000072aef9fe8dcc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Gui.so.6
#62 0x000072aefa3e1294 in ??? () at /usr/lib/libQt6Gui.so.6
#63 0x000072aef7fa2a89 in ??? () at /usr/lib/libglib-2.0.so.0
#64 0x000072aef80049b7 in ??? () at /usr/lib/libglib-2.0.so.0
#65 0x000072aef7fa1f95 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#66 0x000072aef9b93389 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#67 0x000072aef9948350 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#68 0x000072aef9943c1d in QCoreApplication::exec() () at /usr/lib/libQt6Core.so.6
#69 0x00005c99955abfbc in ??? ()
#70 0x000072aef9239c88 in ??? () at /usr/lib/libc.so.6
#71 0x000072aef9239d4c in __libc_start_main () at /usr/lib/libc.so.6
#72 0x00005c99955ac675 in ??? ()
Comment 3 David Edmundson 2024-11-01 15:51:40 UTC
In Plasma 6.2 it should now show the correct icon for all except symlinks, which unfortunately is only available via the context menu and will require upstream changes.