diff --git a/outputview/outputexecutejob.cpp b/outputview/outputexecutejob.cpp --- a/outputview/outputexecutejob.cpp +++ b/outputview/outputexecutejob.cpp @@ -227,7 +227,8 @@ if (d->m_filteringStrategy != OutputModel::NoFilter) { model()->setFilteringStrategy(d->m_filteringStrategy); } else { - model()->setFilteringStrategy(d->m_filteringStrategyPtr.take()); + d->m_filteringStrategyPtr.reset(nullptr); + model()->setFilteringStrategy(OutputModel::NoFilter); } setDelegate( new OutputDelegate ); diff --git a/outputview/outputmodel.cpp b/outputview/outputmodel.cpp --- a/outputview/outputmodel.cpp +++ b/outputview/outputmodel.cpp @@ -76,6 +76,7 @@ void changeFilterStrategy( KDevelop::IFilterStrategy* newFilterStrategy ) { m_filter = QSharedPointer( newFilterStrategy ); + Q_ASSERT(m_filter); } void addLines( const QStringList& lines ) @@ -433,12 +434,14 @@ } Q_ASSERT(filter); + Q_ASSERT(filter); QMetaObject::invokeMethod(d->worker, "changeFilterStrategy", Q_ARG(KDevelop::IFilterStrategy*, filter)); } void OutputModel::setFilteringStrategy(IFilterStrategy* filterStrategy) { + Q_ASSERT(filterStrategy); QMetaObject::invokeMethod(d->worker, "changeFilterStrategy", Q_ARG(KDevelop::IFilterStrategy*, filterStrategy)); }