diff --git a/declarativeimports/core/datamodel.cpp b/declarativeimports/core/datamodel.cpp index 1db29db42..b0c18a6fc 100644 --- a/declarativeimports/core/datamodel.cpp +++ b/declarativeimports/core/datamodel.cpp @@ -67,6 +67,10 @@ int SortFilterModel::roleNameToId(const QString &name) void SortFilterModel::setModel(QObject *source) { + if (source == sourceModel()) { + return; + } + QAbstractItemModel *model = 0; if (source) { model = qobject_cast(source); @@ -91,6 +95,9 @@ void SortFilterModel::setModel(QObject *source) void SortFilterModel::setFilterRegExp(const QString &exp) { + if (exp == filterRegExp()) { + return; + } QSortFilterProxyModel::setFilterRegExp(QRegExp(exp, Qt::CaseInsensitive)); filterRegExpChanged(exp); }