https://bugs.kde.org/show_bug.cgi?id=355711
Jonathan Marten <j...@keelhaul.me.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |CONFIRMED --- Comment #7 from Jonathan Marten <j...@keelhaul.me.uk> --- Note that the crash only happens in "Classic Tree View" mode. What seems to be happening is this: ClassicMode::initEvent() creates d->classicWidget, a QSplitter with no parent. KParts::PartManager::PartManager() is called for that splitter, which calls addManagedTopLevelWidget() for it. At this stage isTopLevel() for the splitter is true and so it is added to the d->m_managedTopLevelWidgets list. SettingsBase::changePlugin() adds the splitter to the stackedWidget, which takes ownership of the splitter. When systemsettings5 is closed, KParts::PartManager::removeManagedTopLevelWidget() is called by the destroyed() signal of the splitter. However, by this point isTopLevel() for the splitter is false (because it has been reparented above) and so it is not removed from d->m_managedTopLevelWidgets. KParts::PartManager::~PartManager() accesses the splitter, which has already been destroyed but still remains in d->m_managedTopLevelWidgets => crash. -- You are receiving this mail because: You are watching all bug changes.