SUMMARY Can reproduce on both X11 and Wayland sessions. STEPS TO REPRODUCE 1. open Spectacle by pressing printscreen key 2. make sure 'Quit after manual Save or Copy' option is checked 3. save the screenshot (Spectacle closes and Plasma shows a notification) 4. open Spectacle again while the notification is visible 5. wait for the notification to disappear OBSERVED RESULT Spectacle closes when the notification disappears EXPECTED RESULT Spectacle remains open when the notification disappears SOFTWARE/OS VERSIONS Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.24.80 KDE Frameworks Version: 5.91.0 Qt Version: 5.15.3 Graphics Platform: Wayland
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/210
Git commit fc2d625144536b53e5f3e671341b4a5651857cf2 by Noah Davis. Committed on 04/03/2023 at 18:24. Pushed by ndavis into branch 'master'. Use QEventLoopLocker to keep Spectacle alive for notifications Stopped using setQuitOnLastWindowClosed(false) because setting it true or false depending on the situation was too complex. Now we just create a QEventLoopLocker when we make a notification and destroy the event loop locker, which also automatically quits the application, when the notification is destroyed. To close the windows, we use SpectacleWindow::closeAll() instead of making them hidden. This automatically closes Spectacle when the QEventLoopLocker has not been created. Related: bug 466143 M +12 -8 src/Gui/SpectacleWindow.cpp M +5 -0 src/Gui/SpectacleWindow.h M +6 -17 src/SpectacleCore.cpp M +1 -0 src/SpectacleCore.h https://invent.kde.org/graphics/spectacle/commit/fc2d625144536b53e5f3e671341b4a5651857cf2