https://bugs.kde.org/show_bug.cgi?id=516848
Noah Davis <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit| |https://invent.kde.org/plas | |ma/spectacle/-/commit/7dd8f | |49ad555428eea695c5bfebd806a | |72c9c7c0 Resolution|--- |FIXED Status|ASSIGNED |RESOLVED --- Comment #6 from Noah Davis <[email protected]> --- Git commit 7dd8f49ad555428eea695c5bfebd806a72c9c7c0 by Noah Davis, on behalf of Zhora Zmeykin. Committed on 30/09/2026 at 11:42. Pushed by ndavis into branch 'master'. Prevent premature exit during recording startup I encountered this issue mostly in a VM. It appears to be a race between the application lifecycle and asynchronous operations. I addressed it by adding a separate `QEventLoopLocker`. During testing, I added debug logging with `qWarning()` to `SpectacleCore::startRecording()`, `VideoPlatformWayland::selectAndRecord()`, `QCoreApplication::aboutToQuit`, `ScreencastingStream::created`, and `PipeWireRecord::stateChanged`. This produced the following log: ```text 0.000 startRecording Screen captureWindows 1 0.000 hiding capture windows 0.002 calling VideoPlatform::startRecording 0.002 requesting KWin screen selection 1.115 KWin selection reply valid 1.115 selected screen "Virtual-1" 1.115 screencasting stream object created; awaiting created/failed signal 1.190 QCoreApplication::aboutToQuit 1.227 PipeWireRecord::stateChanged ... Idle ``` The `ScreencastingStream::created` signal is never emitted, the application does not reach the `Recording` state, and no recording file is created. After adding `QEventLoopLocker`: ```text 0.000 startRecording Screen captureWindows 1 0.000 installing QEventLoopLocker 0.000 hiding capture windows 0.002 calling VideoPlatform::startRecording 0.002 requesting KWin screen selection 1.336 KWin selection reply valid 1.336 selected screen "Virtual-1" 1.337 screencasting stream object created; awaiting created/failed signal 1.364 ScreencastingStream::created 61 1.515 PipeWireRecord::stateChanged ... Recording ``` With this change, the recording reached the `Recording` state and the video was recorded successfully. M +9 -2 src/SpectacleCore.cpp M +1 -0 src/SpectacleCore.h https://invent.kde.org/plasma/spectacle/-/commit/7dd8f49ad555428eea695c5bfebd806a72c9c7c0 -- You are receiving this mail because: You are watching all bug changes.
