From 61033814fde8d863336061b622b0ad011930dc18 Mon Sep 17 00:00:00 2001 From: Tannin Date: Mon, 29 Jun 2015 20:28:56 +0200 Subject: bugfix: aboutToChangeData and postDataChanged signals were not correctly set up when mod grouping was enabled --- src/modlistsortproxy.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/modlistsortproxy.cpp') diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp index f646a079..efe60732 100644 --- a/src/modlistsortproxy.cpp +++ b/src/modlistsortproxy.cpp @@ -380,9 +380,12 @@ bool ModListSortProxy::dropMimeData(const QMimeData *data, Qt::DropAction action void ModListSortProxy::setSourceModel(QAbstractItemModel *sourceModel) { QSortFilterProxyModel::setSourceModel(sourceModel); - - connect(sourceModel, SIGNAL(aboutToChangeData()), this, SLOT(aboutToChangeData())); - connect(sourceModel, SIGNAL(postDataChanged()), this, SLOT(postDataChanged())); + QtGroupingProxy *proxy = qobject_cast(sourceModel); + if (proxy != nullptr) { + sourceModel = proxy->sourceModel(); + } + connect(sourceModel, SIGNAL(aboutToChangeData()), this, SLOT(aboutToChangeData()), Qt::UniqueConnection); + connect(sourceModel, SIGNAL(postDataChanged()), this, SLOT(postDataChanged()), Qt::UniqueConnection); } void ModListSortProxy::aboutToChangeData() -- cgit v1.3.1