[qt/qt/qtapplicationmanager]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtapplicationmanager Pushed by mirror-service into branch '6.12'. Changed from e4506a30f54985d5b004e5da6a1a68fc7d5ea502 to eb0eca0c933967cd2dc50d22c199529579beb74e Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 85d5d71944947c9d17a92e490283b8924a9b3218 by Qt Cherry-pick Bot (on behalf of Robert Griebl) on 21/07/2026 at 14:00.. NativeRuntime: recover from a lost process-exit notification onProcessError() used to ignore every error while the runtime was Running or ShuttingDown, assuming a finished() signal would always follow. That only holds for the 'Crashed' error - FailedToStart, ReadError, WriteError and Timedout are never followed by finished(). If such an error arrived while the runtime was in ShuttingDown (e.g. a fork/exec failure under load during a rapid stop/restart loop), shutdown() was never called: the runtime stayed wedged in ShuttingDown forever and ApplicationManager refused to start the application again. - onProcessError() now finishes the teardown for any non-Crashed error unless the runtime is still Running (where the process may legitimately still be alive). 'Crashed' continues to rely on the paired finished() so the real exit code is preserved. - stop() additionally arms a last-resort timer that forces shutdown() if the runtime is still in ShuttingDown after a generous grace period, covering the case where neither finished() nor any error is ever delivered. Change-Id: I08614e933721d0b4982a828b8d43e3ca20b917ca Pick-to: 6.11 6.8 Reviewed-by: Bernd Weimer <[email protected]> (cherry picked from commit 1b7d84b66848d917c2918af38bc6094ce25b5b5f) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtapplicationmanager/-/commit/85d5d71944947c9d17a92e490283b8924a9b3218 Git commit eb0eca0c933967cd2dc50d22c199529579beb74e by Qt Cherry-pick Bot (on behalf of Robert Griebl) on 21/07/2026 at 14:00.. NativeRuntime: only run shutdown() once A crashing or killed process makes the container process emit errorOccured() immediately followed by finished() (QProcess sends Crashed and then finished). If the runtime was still in StartingUp at that point, both onProcessError() and onProcessFinished() would call shutdown() on the same runtime, one right after the other. The first shutdown() sets the state to NotRunning, which can immediately trigger a restart from the System UI, creating a new runtime that then becomes the current one for the application. The second shutdown() then ran again on the old, now stale runtime and cleared Application::currentRuntime() - this time clearing the freshly created runtime instead. That left its process orphaned and the application's run-state inconsistent. Fix this by making shutdown() return early when it has already run once (tracked via m_shutdownDone). Change-Id: I36fbe5d51e93ec6a74a161378505e05b6b75cc0a Pick-to: 6.11 6.8 Reviewed-by: Bernd Weimer <[email protected]> (cherry picked from commit e7c3d37a8005cf62229de08a9a23919ba9a89e8d) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtapplicationmanager/-/commit/eb0eca0c933967cd2dc50d22c199529579beb74e