diff -u /dev/null rpm/qt4-qt_copy.patch:1.1 --- /dev/null Tue May 22 18:25:35 2007 +++ rpm/qt4-qt_copy.patch Tue May 22 18:25:30 2007 @@ -0,0 +1,84 @@ +qt-bugs@ issue : none +Trolltech task ID : none yet +bugs.kde.org number : None +applied: no +author: Dirk Mueller <[EMAIL PROTECTED]> + +in big user environments, getgrgid_r() needs more memory than sysconf() returns. +Try a bit harder. + +--- src/corelib/io/qfsfileengine_unix.cpp ++++ src/corelib/io/qfsfileengine_unix.cpp +@@ -831,9 +831,16 @@ QString QFSFileEngine::owner(FileOwner o + } else if (own == OwnerGroup) { + struct group *gr = 0; + #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) +- buf.resize(sysconf(_SC_GETGR_R_SIZE_MAX)); +- struct group entry; +- getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr); ++ for (unsigned size = sysconf(_SC_GETGR_R_SIZE_MAX); size < 256000; size += size) ++ { ++ buf.resize(size); ++ struct group entry; ++ // ERANGE indicates that the buffer was too small ++ if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr) ++ || errno != ERANGE) ++ break; ++ } ++ + #else + gr = getgrgid(ownerId(own)); + #endif +qt-bugs@ issue : none +Trolltech task ID : none +applied: yes +author: Thiago and Simon + +Fixes: KDE4 QDBus crashes found during late-night debugging +Details: Fix QDBusInterface objects incorrectly becoming valid after initial invalid creation and +service owner changes. + +--- tools/qdbus/src/qdbusabstractinterface.cpp Wed May 9 09:28:02 CEST 2007 ++++ tools/qdbus/src/qdbusabstractinterface.cpp Wed May 9 09:28:02 CEST 2007 + +@@ -190,7 +190,7 @@ + : QObject(d, parent) + { + // keep track of the service owner +- if (d_func()->connection.isConnected()) ++ if (d_func()->isValid) + QObject::connect(d_func()->connectionPrivate(), SIGNAL(serviceOwnerChanged(QString,QString,QString)), + this, SLOT(_q_serviceOwnerChanged(QString,QString,QString))); + } +qt-bugs@ issue : none +Trolltech task ID : none +bugs.kde.org number : +applied: no +author: Dirk Mueller + + +fix various obvious memory leaks etc + +--- src/gui/painting/qimagescale.cpp ++++ src/gui/painting/qimagescale.cpp +@@ -1005,6 +1005,7 @@ QImage qSmoothScaleImage(const QImage &s + buffer = QImage(dw, dh, src.format()); + if (buffer.isNull()) { + qWarning("QImage: out of memory, returning null"); ++ qimageFreeScaleInfo(scaleinfo); + return QImage(); + } + +Index: src/tools/uic/cpp/cppwriteicondata.cpp +=================================================================== +--- src/tools/uic/cpp/cppwriteicondata.cpp (revision 664532) ++++ src/tools/uic/cpp/cppwriteicondata.cpp (working copy) +@@ -50,7 +50,7 @@ static QByteArray transformImageData(QSt + ba[i] = r; + } + QByteArray ret(reinterpret_cast(ba), baSize); +- delete ba; ++ delete [] ba; + return ret; + } +================================================================