SUMMARY STEPS TO REPRODUCE 1. Open a window 2. Enter edit mode 3. Use shortcuts to switch virtual desktop, then switch back to original OBSERVED RESULT After you switch back, the windows that were hidden are shown again SOFTWARE/OS VERSIONS Linux/KDE Plasma: Neon 5.23 User Edition (available in About System) KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.89.0 Qt Version: 5.15.3
Can confirm.
After clicking "Show Desktop" and switch virtual desktop, the hidden windows are restored, too.
(gdb) bt #0 0x000055af3192e250 in KWindowSystem::setShowingDesktop(bool)@plt () #1 0x00007fc6bbeb4423 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcbbdf0d20, r=0x55af33331ba0, this=0x55af343a7620) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #2 doActivate<false>(QObject*, int, void**) (sender=0x55af33331ba0, signal_index=13, argv=0x7ffcbbdf0d20) at kernel/qobject.cpp:3886 #3 0x00007fc6bbead8ef in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=<optimized out>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7ffcbbdf0d20) at kernel/qobject.cpp:3946 #4 0x00007fc6bdf37d92 in Plasma::Corona::editModeChanged(bool) (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/plasma-framework-5.91.0git.20220114T130819~402bea797-ku.5.1.x86_64/build/src/plasma/KF5Plasma_autogen/include/moc_corona.cpp:506 #5 0x00007fc6bbeb4423 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffcbbdf0e30, r=0x55af33331ba0, this=0x55af34424c20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #6 doActivate<false>(QObject*, int, void**) (sender=0x7ffcbbdf1280, signal_index=14, argv=0x7ffcbbdf0e30) at kernel/qobject.cpp:3886 #7 0x00007fc6bbead8ef in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fc6bc866400, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x7ffcbbdf0e30) at kernel/qobject.cpp:3946 #8 0x00007fc6bc2ce6a2 in QGuiApplication::focusWindowChanged(QWindow*) (this=<optimized out>, _t1=<optimized out>, _t1@entry=0x0) at .moc/moc_qguiapplication.cpp:423 #9 0x00007fc6bc2d8a4c in QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent*) (e=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:116 #10 0x00007fc6bc2b283c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169 #11 0x00007fc6b72f5cfa in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x55af332ee750) at qxcbeventdispatcher.cpp:105 #12 0x00007fc6ba1bed9f in g_main_dispatch (context=0x7fc6b0005000) at ../glib/gmain.c:3381 #13 g_main_context_dispatch (context=0x7fc6b0005000) at ../glib/gmain.c:4099 #14 0x00007fc6ba1bf128 in g_main_context_iterate (context=context@entry=0x7fc6b0005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175 #15 0x00007fc6ba1bf1df in g_main_context_iteration (context=0x7fc6b0005000, may_block=1) at ../glib/gmain.c:4240 #16 0x00007fc6bbed5294 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55af332f36d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #17 0x00007fc6bbe7c7bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcbbdf1100, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #18 0x00007fc6bbe84aa0 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #19 0x00007fc6bc2d023c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867 #20 0x00007fc6bcc1c9f5 in QApplication::exec() () at kernel/qapplication.cpp:2824 #21 0x000055af3193269a in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.80git.20220115T143951~926cc069d-ku.120.3.x86_64/shell/main.cpp:238
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1889
It's probably intentional to deactivate "Show Desktop" when switching between virtual desktops to avoid more bugs. Mark this bug as "RESOLVED INTENTIONAL".