don't pay the penalty of checking through the collection when we removed it ourselves; use the iterator we already have when erasing on container deletion instead of making the hash do another lookup based on key

svn path=/trunk/KDE/kdelibs/; revision=1136422
This commit is contained in:
Aaron J. Seigo 2010-06-09 19:09:13 +00:00
parent ec543102a2
commit 81ac415af6

View File

@ -320,6 +320,7 @@ void DataEngine::removeSource(const QString &source)
}
}
s->disconnect(this);
s->deleteLater();
d->sources.erase(it);
emit sourceRemoved(source);
@ -673,10 +674,10 @@ void DataEnginePrivate::sourceDestroyed(QObject *object)
{
DataContainer *container = qobject_cast<DataContainer *>(object);
DataEngine::SourceDict::const_iterator it = sources.constBegin();
while (it != sources.constEnd()) {
DataEngine::SourceDict::iterator it = sources.begin();
while (it != sources.end()) {
if (it.value() == object) {
sources.remove(it.key());
sources.erase(it);
break;
}
++it;