[dolphin] [Bug 463931] "Show Target" action for symbolic links often opens multiple new windows

Nicolas Fella bugzilla_noreply at kde.org
Fri Feb 17 12:55:14 GMT 2023


https://bugs.kde.org/show_bug.cgi?id=463931

Nicolas Fella <nicolas.fella at gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/fram
                   |                            |eworks/kio/commit/71c0763c1
                   |                            |5fa35ea74aef3d1f89ba112af28
                   |                            |4bd6
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #4 from Nicolas Fella <nicolas.fella at gmx.de> ---
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

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the kfm-devel mailing list