1 diff -u /dev/null rpm/qt4-qt_copy.patch:1.1
2 --- /dev/null Tue May 22 18:25:35 2007
3 +++ rpm/qt4-qt_copy.patch Tue May 22 18:25:30 2007
6 +Trolltech task ID : none yet
7 +bugs.kde.org number : None
9 +author: Dirk Mueller <[EMAIL PROTECTED]>
11 +in big user environments, getgrgid_r() needs more memory than sysconf() returns.
14 +--- src/corelib/io/qfsfileengine_unix.cpp
15 ++++ src/corelib/io/qfsfileengine_unix.cpp
16 +@@ -831,9 +831,16 @@ QString QFSFileEngine::owner(FileOwner o
17 + } else if (own == OwnerGroup) {
18 + struct group *gr = 0;
19 + #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
20 +- buf.resize(sysconf(_SC_GETGR_R_SIZE_MAX));
21 +- struct group entry;
22 +- getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr);
23 ++ for (unsigned size = sysconf(_SC_GETGR_R_SIZE_MAX); size < 256000; size += size)
26 ++ struct group entry;
27 ++ // ERANGE indicates that the buffer was too small
28 ++ if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr)
29 ++ || errno != ERANGE)
34 + gr = getgrgid(ownerId(own));
36 +qt-bugs@ issue : none
37 +Trolltech task ID : none
39 +author: Thiago and Simon
41 +Fixes: KDE4 QDBus crashes found during late-night debugging
42 +Details: Fix QDBusInterface objects incorrectly becoming valid after initial invalid creation and
43 +service owner changes.
45 +--- tools/qdbus/src/qdbusabstractinterface.cpp Wed May 9 09:28:02 CEST 2007
46 ++++ tools/qdbus/src/qdbusabstractinterface.cpp Wed May 9 09:28:02 CEST 2007
49 + : QObject(d, parent)
51 + // keep track of the service owner
52 +- if (d_func()->connection.isConnected())
53 ++ if (d_func()->isValid)
54 + QObject::connect(d_func()->connectionPrivate(), SIGNAL(serviceOwnerChanged(QString,QString,QString)),
55 + this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
57 +qt-bugs@ issue : none
58 +Trolltech task ID : none
59 +bugs.kde.org number :
64 +fix various obvious memory leaks etc
66 +--- src/gui/painting/qimagescale.cpp
67 ++++ src/gui/painting/qimagescale.cpp
68 +@@ -1005,6 +1005,7 @@ QImage qSmoothScaleImage(const QImage &s
69 + buffer = QImage(dw, dh, src.format());
70 + if (buffer.isNull()) {
71 + qWarning("QImage: out of memory, returning null");
72 ++ qimageFreeScaleInfo(scaleinfo);
76 +Index: src/tools/uic/cpp/cppwriteicondata.cpp
77 +===================================================================
78 +--- src/tools/uic/cpp/cppwriteicondata.cpp (revision 664532)
79 ++++ src/tools/uic/cpp/cppwriteicondata.cpp (working copy)
80 +@@ -50,7 +50,7 @@ static QByteArray transformImageData(QSt
83 + QByteArray ret(reinterpret_cast<const char *>(ba), baSize);
88 +================================================================