revert qlist.h commit that seems to induce crashes in qDeleteAll<QList... (QTBUG-22037)
This commit is contained in:
parent
59d529bafa
commit
a9a1095ff8
41
qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
Normal file
41
qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
Normal file
@ -0,0 +1,41 @@
|
||||
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
|
||||
--- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500
|
||||
@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList<T>::clea
|
||||
template <typename T>
|
||||
Q_OUTOFLINE_TEMPLATE int QList<T>::removeAll(const T &_t)
|
||||
{
|
||||
- int index = indexOf(_t);
|
||||
- if (index == -1)
|
||||
- return 0;
|
||||
-
|
||||
+ detachShared();
|
||||
const T t = _t;
|
||||
- detach();
|
||||
-
|
||||
- Node *i = reinterpret_cast<Node *>(p.at(index));
|
||||
- Node *e = reinterpret_cast<Node *>(p.end());
|
||||
- Node *n = i;
|
||||
- node_destruct(i);
|
||||
- while (++i != e) {
|
||||
- if (i->t() == t)
|
||||
- node_destruct(i);
|
||||
- else
|
||||
- *n++ = *i;
|
||||
- }
|
||||
-
|
||||
- int removedCount = e - n;
|
||||
- d->end -= removedCount;
|
||||
+ int removedCount=0, i=0;
|
||||
+ Node *n;
|
||||
+ while (i < p.size())
|
||||
+ if ((n = reinterpret_cast<Node *>(p.at(i)))->t() == t) {
|
||||
+ node_destruct(n);
|
||||
+ p.remove(i);
|
||||
+ ++removedCount;
|
||||
+ } else {
|
||||
+ ++i;
|
||||
+ }
|
||||
return removedCount;
|
||||
}
|
||||
|
9
qt.spec
9
qt.spec
@ -11,7 +11,7 @@ Summary: Qt toolkit
|
||||
Name: qt
|
||||
Epoch: 1
|
||||
Version: 4.8.0
|
||||
Release: 0.14.rc1%{?dist}
|
||||
Release: 0.15.rc1%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
||||
@ -76,6 +76,9 @@ Patch67: qt-everywhere-opensource-src-4.8.0-beta1-s390.patch
|
||||
# -Wall + -Werror = fail
|
||||
Patch68: webkit-qtwebkit-2.2-no_Werror.patch
|
||||
|
||||
# revert qlist.h commit that seems to induce crashes in qDeleteAll<QList (QTBUG-22037)
|
||||
Patch69: qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch
|
||||
|
||||
# upstream patches
|
||||
|
||||
# security patches
|
||||
@ -392,6 +395,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
|
||||
pushd src/3rdparty/webkit
|
||||
%patch68 -p1 -b .no_Werror
|
||||
popd
|
||||
%patch69 -p1 -b .QTBUG-22037
|
||||
|
||||
# upstream patches
|
||||
|
||||
@ -1024,6 +1028,9 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Oct 15 2011 Rex Dieter <rdieter@fedoraproject.org> 4.8.0-0.15.rc1
|
||||
- revert qlist.h commit that seems to induce crashes in qDeleteAll<QList... (QTBUG-22037)
|
||||
|
||||
* Sat Oct 15 2011 Rex Dieter <rdieter@fedoraproject.org> 4.8.0-0.14.rc1
|
||||
- pkgconfig-style deps
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user