diff --git a/frame/models/kextracolumnsproxymodel.cpp b/frame/models/kextracolumnsproxymodel.cpp index 2faedab20..3f3edf6eb 100644 --- a/frame/models/kextracolumnsproxymodel.cpp +++ b/frame/models/kextracolumnsproxymodel.cpp @@ -38,6 +38,11 @@ KExtraColumnsProxyModel::KExtraColumnsProxyModel(QObject *parent) : QIdentityProxyModel(parent) , d_ptr(new KExtraColumnsProxyModelPrivate(this)) { + // The handling of persistent model indexes assumes mapToSource can be called for any index + // This breaks for the extra column, so we'll have to do it ourselves +#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0) + setHandleSourceLayoutChanges(false); +#endif } KExtraColumnsProxyModel::~KExtraColumnsProxyModel() @@ -96,6 +101,7 @@ void KExtraColumnsProxyModel::setSourceModel(QAbstractItemModel *model) if (model) { // The handling of persistent model indexes assumes mapToSource can be called for any index // This breaks for the extra column, so we'll have to do it ourselves +#if QT_VERSION < QT_VERSION_CHECK(6, 8, 0) disconnect(model, SIGNAL(layoutAboutToBeChanged(QList, QAbstractItemModel::LayoutChangeHint)), this, @@ -104,6 +110,7 @@ void KExtraColumnsProxyModel::setSourceModel(QAbstractItemModel *model) SIGNAL(layoutChanged(QList, QAbstractItemModel::LayoutChangeHint)), this, SLOT(_q_sourceLayoutChanged(QList, QAbstractItemModel::LayoutChangeHint))); +#endif connect(model, SIGNAL(layoutAboutToBeChanged(QList, QAbstractItemModel::LayoutChangeHint)), this,