diff --git a/src/kmodelindexproxymapper.cpp b/src/kmodelindexproxymapper.cpp index 2fb1858..4eaecb4 100644 --- a/src/kmodelindexproxymapper.cpp +++ b/src/kmodelindexproxymapper.cpp @@ -116,7 +116,7 @@ void KModelIndexProxyMapperPrivate::createProxyChain() QPointer selectionTargetProxyModel = qobject_cast(targetModel); while (selectionTargetProxyModel) { proxyChainDown.prepend(selectionTargetProxyModel); - QObject::connect(selectionTargetProxyModel, &QAbstractProxyModel::sourceModelChanged, q_ptr, + QObject::connect(selectionTargetProxyModel.data(), &QAbstractProxyModel::sourceModelChanged, q_ptr, [this]{ createProxyChain(); }); selectionTargetProxyModel = qobject_cast(selectionTargetProxyModel->sourceModel()); @@ -133,7 +133,7 @@ void KModelIndexProxyMapperPrivate::createProxyChain() while (sourceProxyModel) { m_proxyChainUp.append(sourceProxyModel); - QObject::connect(sourceProxyModel, &QAbstractProxyModel::sourceModelChanged, q_ptr, + QObject::connect(sourceProxyModel.data(), &QAbstractProxyModel::sourceModelChanged, q_ptr, [this]{ createProxyChain(); }); sourceProxyModel = qobject_cast(sourceProxyModel->sourceModel());