]>
Commit | Line | Data |
---|---|---|
2cd0eee5 | 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 | |
4 | @@ -0,0 +1,84 @@ | |
5 | +qt-bugs@ issue : none | |
6 | +Trolltech task ID : none yet | |
7 | +bugs.kde.org number : None | |
8 | +applied: no | |
9 | +author: Dirk Mueller <[EMAIL PROTECTED]> | |
10 | + | |
11 | +in big user environments, getgrgid_r() needs more memory than sysconf() returns. | |
12 | +Try a bit harder. | |
13 | + | |
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) | |
24 | ++ { | |
25 | ++ buf.resize(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) | |
30 | ++ break; | |
31 | ++ } | |
32 | ++ | |
33 | + #else | |
34 | + gr = getgrgid(ownerId(own)); | |
35 | + #endif | |
36 | +qt-bugs@ issue : none | |
37 | +Trolltech task ID : none | |
38 | +applied: yes | |
39 | +author: Thiago and Simon | |
40 | + | |
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. | |
44 | + | |
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 | |
47 | + | |
48 | +@@ -190,7 +190,7 @@ | |
49 | + : QObject(d, parent) | |
50 | + { | |
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))); | |
56 | + } | |
57 | +qt-bugs@ issue : none | |
58 | +Trolltech task ID : none | |
59 | +bugs.kde.org number : | |
60 | +applied: no | |
61 | +author: Dirk Mueller | |
62 | + | |
63 | + | |
64 | +fix various obvious memory leaks etc | |
65 | + | |
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); | |
73 | + return QImage(); | |
74 | + } | |
75 | + | |
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 | |
81 | + ba[i] = r; | |
82 | + } | |
83 | + QByteArray ret(reinterpret_cast<const char *>(ba), baSize); | |
84 | +- delete ba; | |
85 | ++ delete [] ba; | |
86 | + return ret; | |
87 | + } | |
88 | +================================================================ |