Fix disconnection from 'previous' source models.

wilder
Stephen Kelly 11 years ago
parent d24d1b434d
commit 0effb367ed
  1. 4
      src/kdescendantsproxymodel.cpp
  2. 4
      src/kselectionproxymodel.cpp

@ -279,9 +279,9 @@ void KDescendantsProxyModel::setSourceModel(QAbstractItemModel *_sourceModel)
SLOT(sourceModelDestroyed())
};
if (_sourceModel) {
if (sourceModel()) {
for (int i = 0; i < int(sizeof modelSignals / sizeof *modelSignals); ++i)
disconnect(_sourceModel, modelSignals[i], this, proxySlots[i]);
disconnect(sourceModel(), modelSignals[i], this, proxySlots[i]);
}
QAbstractProxyModel::setSourceModel(_sourceModel);

@ -2215,9 +2215,9 @@ void KSelectionProxyModel::setSourceModel(QAbstractItemModel *_sourceModel)
SLOT(sourceModelDestroyed())
};
if (_sourceModel) {
if (sourceModel()) {
for (int i = 0; i < int(sizeof modelSignals / sizeof *modelSignals); ++i)
disconnect(_sourceModel, modelSignals[i], this, proxySlots[i]);
disconnect(sourceModel(), modelSignals[i], this, proxySlots[i]);
}
// Must be called before QAbstractProxyModel::setSourceModel because it emit some signals.

Loading…
Cancel
Save