Don't compare const_iterator with iterator.

Commit 93ffb81df6 introduced this bug. As
it is in the header, it affects downstreams.

Change-Id: I02e86927e648153ca7c0b66ac945a7f99cc4cd89
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Stephen Kelly 2013-08-27 17:10:02 +02:00 committed by The Qt Project
parent f3c019649b
commit db87c9ead2
1 changed files with 2 additions and 2 deletions

View File

@ -845,14 +845,14 @@ Q_OUTOFLINE_TEMPLATE T QHash<Key, T>::take(const Key &akey)
template <class Key, class T>
Q_OUTOFLINE_TEMPLATE typename QHash<Key, T>::iterator QHash<Key, T>::erase(iterator it)
{
Q_ASSERT_X(isValidIterator(it), "QHash::erase", "The specified const_iterator argument 'it' is invalid");
Q_ASSERT_X(isValidIterator(it), "QHash::erase", "The specified iterator argument 'it' is invalid");
if (it == iterator(e))
return it;
if (d->ref.isShared()) {
int bucketNum = (it.i->h % d->numBuckets);
const_iterator bucketIterator(*(d->buckets + bucketNum));
iterator bucketIterator(*(d->buckets + bucketNum));
int stepsFromBucketStartToIte = 0;
while (bucketIterator != it) {
++stepsFromBucketStartToIte;