rpm: qt4-qt_copy.patch (NEW) - some fixes from KDE's svn
deejay1
deejay1 at pld-linux.org
Tue May 22 18:25:35 CEST 2007
Author: deejay1 Date: Tue May 22 16:25:35 2007 GMT
Module: rpm Tag: HEAD
---- Log message:
- some fixes from KDE's svn
---- Files affected:
rpm:
qt4-qt_copy.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: rpm/qt4-qt_copy.patch
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 <mueller at kde.org>
+
+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<const char *>(ba), baSize);
+- delete ba;
++ delete [] ba;
+ return ret;
+ }
+
================================================================
More information about the pld-cvs-commit
mailing list