Summary: | "Show Target" action for symbolic links often opens multiple new windows | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Paul Worrall <p.r.worrall> |
Component: | general | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ad.liu.jin, kfm-devel, nate |
Priority: | NOR | ||
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Neon | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=462269 | ||
Latest Commit: | https://invent.kde.org/frameworks/kio/commit/e8a7a6c83e8725a73cb4c90b572315594a58f65c | Version Fixed In: | 5.104 |
Sentry Crash Report: |
Description
Paul Worrall
2023-01-06 15:55:33 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1202 BTW, before it's fixed, you can use this workaround. 1. Open a Dolphin window and put it aside. Don't use it. 2. Open another Dolphin window. "Show Target" will work fine in this new window (and all new windows, as long as the 1st window is there.) A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1203 Git commit 71c0763c15fa35ea74aef3d1f89ba112af284bd6 by Nicolas Fella, on behalf of Jin Liu. Committed on 17/02/2023 at 12:55. Pushed by nicolasfella into branch 'master'. OpenFileManagerWindowJob: fix opening multiple instances under Wayland The Problem: Under wayland, when there's only one Dolphin window, "Show Target" in Dolphin's right click menu opens multiple duplicate Dolphin windows. The Cause: DolphinMainWindow::showTarget => KIO::OpenFileManagerWindowJob::highlightInFileManager => KWindowSystem::requestXdgActivationToken => on KWindowSystem::xdgActivationTokenArrived signal => dbus call org.freedesktop.FileManager1 ShowItems => Dolphin::DBusInterface::ShowItems => Dolphin::openNewWindow => KIO::ApplicationLauncherJob => KIO::KProcessRunner => Calls KWindowSystem::requestXdgActivationToken under Wayland. Loop. The Fix: Pass Qt::SingleShotConnection flag to QObject::connect() to avoid the loop. M +1 -1 src/widgets/openfilemanagerwindowjob.cpp https://invent.kde.org/frameworks/kio/commit/71c0763c15fa35ea74aef3d1f89ba112af284bd6 Git commit e8a7a6c83e8725a73cb4c90b572315594a58f65c by Nicolas Fella, on behalf of Jin Liu. Committed on 17/02/2023 at 12:55. Pushed by nicolasfella into branch 'kf5'. OpenFileManagerWindowJob: fix opening multiple instances under Wayland [KF5] The Problem: Under wayland, when there's only one Dolphin window, "Show Target" in Dolphin's right click menu opens multiple duplicate Dolphin windows. The Cause: DolphinMainWindow::showTarget => KIO::OpenFileManagerWindowJob::highlightInFileManager => KWindowSystem::requestXdgActivationToken => on KWindowSystem::xdgActivationTokenArrived signal => dbus call org.freedesktop.FileManager1 ShowItems => Dolphin::DBusInterface::ShowItems => Dolphin::openNewWindow => KIO::ApplicationLauncherJob => KIO::KProcessRunner => Calls KWindowSystem::requestXdgActivationToken under Wayland. Loop. The Fix: Call QObject::disconnect() first in the slot to disconnect the signal. M +1 -0 src/widgets/openfilemanagerwindowjob.cpp https://invent.kde.org/frameworks/kio/commit/e8a7a6c83e8725a73cb4c90b572315594a58f65c |