Summary: | Dolphin crashes after terminal is closed with "exit" and Dolphin is then closed | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Akseli Lahtinen <akselmo> |
Component: | panels: terminal | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kfm-devel |
Priority: | NOR | Keywords: | qt6 |
Version: | 24.01.85 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/system/dolphin/-/commit/1a59905027e578e396216b1f11831c80ec87db4f | Version Fixed In: | |
Sentry Crash Report: |
Description
Akseli Lahtinen
2024-01-10 08:57:08 UTC
Git commit 1a59905027e578e396216b1f11831c80ec87db4f by Akseli Lahtinen. Committed on 10/01/2024 at 10:22. Pushed by akselmo into branch 'master'. terminalpanel.cpp: Set m_konsolePart to nullptr during exit signal If Dolphin terminal is open, and one types `exit` there and then closes Dolphin, Dolphin crashes due to a dangling pointer. Konsole KPart is deleting itself when Konsole session exits, but Dolphin tracks it as a child of the Terminal Panel. The Terminal Panel doesn't get destroyed when Konsole KPart does, and it tries to double free during children clean up. (Thanks @sitter !) Setting `m_konsolePart` to `nullptr` during exit signal fixes this, since there is already check in place for that in the destructor. M +1 -0 src/panels/terminal/terminalpanel.cpp https://invent.kde.org/system/dolphin/-/commit/1a59905027e578e396216b1f11831c80ec87db4f |