Summary: | System-settings crashes on opening various KCMs | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Flaviano Matos <pehteimoso-kdebugs> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ekaitz, jchevarley, kde, mentalfloss |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.19.5 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/kirigami/commit/b0c4bc1c41430f7c778e925715d63ed66fe1ebe0 | Version Fixed In: | |
Sentry Crash Report: |
Description
Flaviano Matos
2020-10-30 19:17:01 UTC
Crash is here in kirigami ContentItem::forgetItem item->setVisible(false); we're doing this on an item that's in it's own destructor *** Bug 423874 has been marked as a duplicate of this bug. *** *** Bug 420945 has been marked as a duplicate of this bug. *** *** Bug 420590 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/144 Git commit b0c4bc1c41430f7c778e925715d63ed66fe1ebe0 by David Edmundson. Committed on 02/11/2020 at 14:26. Pushed by davidedmundson into branch 'master'. Don't alter Item in code called from Item's destructor QQuickItem::~QQuickItem calls setParentItem(null) before closing This emits itemChange with ItemRemoved on the column view for that item We then call ContentItem::forgetItem And adjust the visibility. This is problematic as we then start emitting all sorts of things after our item is being destroyed. Objects monitoring, in this case the attached accessiblity object can then do something that crash. The only other caller of forgetItem is the removeItem method, so the setVisible call is moved there. Tested by setting up orca Reproducing crash Testing fix M +1 -1 src/columnview.cpp https://invent.kde.org/frameworks/kirigami/commit/b0c4bc1c41430f7c778e925715d63ed66fe1ebe0 Any chance this will end up back ported to 5.20.x? I solved the problem by removing every occult directory in the user directory. |