summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2009-02-14 15:09:31 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2009-02-14 15:09:31 +0000
commitbc520c30637f9dc181603a852ec1b6ecfb5c52f4 (patch)
treeb9e04fc548f1357a950d0311f39f9c1f04f7d09d /x11-libs/qt-core/files
parentarm/ia64/s390/sh/sparc stable wrt #258195 (diff)
downloadhistorical-bc520c30637f9dc181603a852ec1b6ecfb5c52f4.tar.gz
historical-bc520c30637f9dc181603a852ec1b6ecfb5c52f4.tar.bz2
historical-bc520c30637f9dc181603a852ec1b6ecfb5c52f4.zip
revbump with a couple of patches from qt-copy
Package-Manager: portage-2.1.6.7/cvs/Linux i686
Diffstat (limited to 'x11-libs/qt-core/files')
-rw-r--r--x11-libs/qt-core/files/0167-fix-group-reading.diff28
-rw-r--r--x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff65
-rw-r--r--x11-libs/qt-core/files/0257-qurl-validate-speedup.diff23
3 files changed, 116 insertions, 0 deletions
diff --git a/x11-libs/qt-core/files/0167-fix-group-reading.diff b/x11-libs/qt-core/files/0167-fix-group-reading.diff
new file mode 100644
index 000000000000..5c7ca33c4156
--- /dev/null
+++ b/x11-libs/qt-core/files/0167-fix-group-reading.diff
@@ -0,0 +1,28 @@
+qt-bugs@ issue : none
+Trolltech task ID : none yet
+bugs.kde.org number : None
+applied: no
+author: Dirk Mueller <mueller@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
+@@ -835,9 +835,13 @@
+ size_max = sysconf(_SC_GETGR_R_SIZE_MAX);
+ if (size_max == -1)
+ size_max = 1024;
+- buf.resize(size_max);
+- struct group entry;
+- getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr);
++ for (;size_max < 256000; size_max += size_max) {
++ buf.resize(size_max);
++ struct group entry;
++ if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr) || errno != ERANGE)
++ break;
++
++ }
+ #else
+ gr = getgrgid(ownerId(own));
+ #endif
diff --git a/x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff b/x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff
new file mode 100644
index 000000000000..007146169cd7
--- /dev/null
+++ b/x11-libs/qt-core/files/0253-qmake_correct_path_separators.diff
@@ -0,0 +1,65 @@
+qt-bugs@ issue : none
+Trolltech task ID : 214661
+applied: no
+author: Christian Ehrlicher <ch.ehrlicher@gmx.de>
+
+When using qmake outside qt src tree, it sometimes generates wrong
+paths (wrong path separator)
+
+
+--- qmake/property.cpp.orig 2008-05-08 21:16:15.902625000 +0200
++++ qmake/property.cpp 2008-05-08 21:16:10.481500000 +0200
+@@ -83,29 +83,32 @@
+ QString
+ QMakeProperty::value(QString v, bool just_check)
+ {
++ QString ret;
+ if(v == "QT_INSTALL_PREFIX")
+- return QLibraryInfo::location(QLibraryInfo::PrefixPath);
++ ret = QLibraryInfo::location(QLibraryInfo::PrefixPath);
+ else if(v == "QT_INSTALL_DATA")
+- return QLibraryInfo::location(QLibraryInfo::DataPath);
++ ret = QLibraryInfo::location(QLibraryInfo::DataPath);
+ else if(v == "QT_INSTALL_DOCS")
+- return QLibraryInfo::location(QLibraryInfo::DocumentationPath);
++ ret = QLibraryInfo::location(QLibraryInfo::DocumentationPath);
+ else if(v == "QT_INSTALL_HEADERS")
+- return QLibraryInfo::location(QLibraryInfo::HeadersPath);
++ ret = QLibraryInfo::location(QLibraryInfo::HeadersPath);
+ else if(v == "QT_INSTALL_LIBS")
+- return QLibraryInfo::location(QLibraryInfo::LibrariesPath);
++ ret = QLibraryInfo::location(QLibraryInfo::LibrariesPath);
+ else if(v == "QT_INSTALL_BINS")
+- return QLibraryInfo::location(QLibraryInfo::BinariesPath);
++ ret = QLibraryInfo::location(QLibraryInfo::BinariesPath);
+ else if(v == "QT_INSTALL_PLUGINS")
+- return QLibraryInfo::location(QLibraryInfo::PluginsPath);
++ ret = QLibraryInfo::location(QLibraryInfo::PluginsPath);
+ else if(v == "QT_INSTALL_TRANSLATIONS")
+- return QLibraryInfo::location(QLibraryInfo::TranslationsPath);
++ ret = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
+ else if(v == "QT_INSTALL_CONFIGURATION")
+- return QLibraryInfo::location(QLibraryInfo::SettingsPath);
++ ret = QLibraryInfo::location(QLibraryInfo::SettingsPath);
+ else if(v == "QT_INSTALL_EXAMPLES")
+- return QLibraryInfo::location(QLibraryInfo::ExamplesPath);
++ ret = QLibraryInfo::location(QLibraryInfo::ExamplesPath);
+ else if(v == "QT_INSTALL_DEMOS")
+- return QLibraryInfo::location(QLibraryInfo::DemosPath);
+- else if(v == "QMAKE_MKSPECS")
++ ret = QLibraryInfo::location(QLibraryInfo::DemosPath);
++ if(!ret.isEmpty())
++ return QDir::toNativeSeparators(ret);
++ if(v == "QMAKE_MKSPECS")
+ return qmake_mkspec_paths().join(Option::target_mode == Option::TARG_WIN_MODE ? ";" : ":");
+ else if(v == "QMAKE_VERSION")
+ return qmake_version();
+@@ -118,7 +121,7 @@
+ int slash = v.lastIndexOf('/');
+ QVariant var = settings->value(keyBase(slash == -1) + v);
+ bool ok = var.isValid();
+- QString ret = var.toString();
++ ret = var.toString();
+ if(!ok) {
+ QString version = qmake_version();
+ if(slash != -1) {
diff --git a/x11-libs/qt-core/files/0257-qurl-validate-speedup.diff b/x11-libs/qt-core/files/0257-qurl-validate-speedup.diff
new file mode 100644
index 000000000000..c3eaa1b6fa7e
--- /dev/null
+++ b/x11-libs/qt-core/files/0257-qurl-validate-speedup.diff
@@ -0,0 +1,23 @@
+qt-bugs@ issue : N234179
+Trolltech task ID : none
+bugs.kde.org number : 174144
+applied: no
+author: David Faure <faure@kde.org> (and Qt Software, independently)
+
+QUrl is supposed to have flags for parsing and validating a given URL only once.
+However it only sets the Validated flag on error, not after successful validation.
+So a valid url will be validated over and over again, every time e.g. port() or isValid() is called.
+
+Included in Qt 4.5
+
+--- src/corelib/io/qurl.cpp
++++ src/corelib/io/qurl.cpp
+@@ -3414,6 +3414,8 @@ void QUrlPrivate::validate() const
+ that->encodedOriginal = that->toEncoded(); // may detach
+ parse(ParseOnly);
+
++ QURL_SETFLAG(that->stateFlags, Validated);
++
+ if (!isValid)
+ return;
+