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
parent
f3c019649b
commit
db87c9ead2
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue