-
Anton Anikin authored
Summary: This patch fixes regressions provided by D14931. Steps to reproduce (my system is neon/bionic with Qt 5.11.1 and KDevelop/master): 1) Start KDevelop and load some project 2) Start project build 3) Close KDevelop 4) Segfault happens Main problems: 1) Incorrect signal processing. `OutputWidget::updateFilter()` slot is called from parent's destructor when `m_tabwidget`/`m_stackwidget` is deleted so we have destroyed `m_views` hash and segfault as a result. 2) Incorrect `QSharedPointer` usage. All handled objects have `QWidget` as a parent so we have double-free problem and and segfault as a result. BUG: 398615 Test Plan: Tested on different output widgets (`KDevelop::IOutputView::OneView/HistoryView/MultipleView`) with no segfaults. All our `QTreeView`/`QSortFilterProxyModel` objects are deleted (no memory leaks). Reviewers: #kdevelop, kossebau Reviewed By: #kdevelop, kossebau Subscribers: kfunk, kossebau, vkorneev, kdevelop-devel Tags: #kdevelop Differential Revision: https://phabricator.kde.org/D15326
f856a9a6