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