1 diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h
2 --- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500
3 +++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500
4 @@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea
6 Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t)
8 - int index = indexOf(_t);
16 - Node *i = reinterpret_cast<Node *>(p.at(index));
17 - Node *e = reinterpret_cast<Node *>(p.end());
27 - int removedCount = e - n;
28 - d->end -= removedCount;
29 + int removedCount=0, i=0;
31 + while (i < p.size())
32 + if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) {