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()) SLOT(sourceModelDestroyed())
}; };
if (_sourceModel) { if (sourceModel()) {
for (int i = 0; i < int(sizeof modelSignals / sizeof *modelSignals); ++i) 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); QAbstractProxyModel::setSourceModel(_sourceModel);

@ -2215,9 +2215,9 @@ void KSelectionProxyModel::setSourceModel(QAbstractItemModel *_sourceModel)
SLOT(sourceModelDestroyed()) SLOT(sourceModelDestroyed())
}; };
if (_sourceModel) { if (sourceModel()) {
for (int i = 0; i < int(sizeof modelSignals / sizeof *modelSignals); ++i) 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. // Must be called before QAbstractProxyModel::setSourceModel because it emit some signals.

Loading…
Cancel
Save