summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFathi Boudra <fabo@debian.org>2008-05-09 18:09:10 +0000
committerFathi Boudra <fabo@debian.org>2008-05-09 18:09:10 +0000
commitfe3fb112a7776a81424b0338b072fe9dfe1e84b1 (patch)
tree9619bc448022f2bc99a2ec814d922e5f81c0b4f2
parent85e7de75f0fb07dbe3a60057601fdb3ac0e2929e (diff)
downloadqt4-x11-fe3fb112a7776a81424b0338b072fe9dfe1e84b1.tar.gz
* Add qt-copy patch:
* 0227-qdatastream-regression Fix a bug that causes all Qt3/2 applications to crash or hang under KDE4.
-rw-r--r--debian/changelog10
-rw-r--r--debian/patches/0227-qdatastream-regression.diff63
-rw-r--r--debian/patches/series1
3 files changed, 74 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 29d90f4..c77088a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+qt4-x11 (4.4.0-2) UNRELEASED; urgency=low
+
+ +++ Changes by Fathi Boudra:
+
+ * Add qt-copy patch:
+ * 0227-qdatastream-regression
+ Fix a bug that causes all Qt3/2 applications to crash or hang under KDE4.
+
+ -- Fathi Boudra <fabo@debian.org> Fri, 09 May 2008 20:01:24 +0200
+
qt4-x11 (4.4.0-1) unstable; urgency=low
* New upstream release.
diff --git a/debian/patches/0227-qdatastream-regression.diff b/debian/patches/0227-qdatastream-regression.diff
new file mode 100644
index 0000000..d84e12a
--- /dev/null
+++ b/debian/patches/0227-qdatastream-regression.diff
@@ -0,0 +1,63 @@
+qt-bugs@ issue : none
+Trolltech task ID : None
+bugs.kde.org number : None
+applied: no
+author: Dirk Mueller <mueller@kde.org>
+
+when launching Qt3 applications under a KDE that runs with Qt 4.4,
+all apps either hang, crash, or eat horrible amounts of memory.
+
+--- a/src/gui/kernel/qpalette.cpp
++++ b/src/gui/kernel/qpalette.cpp
+@@ -79,9 +79,9 @@
+ int max = QPalette::NColorRoles;
+ if (s.version() <= QDataStream::Qt_2_1)
+ max = QPalette::HighlightedText + 1;
+- if (s.version() <= QDataStream::Qt_4_3)
++ else if (s.version() <= QDataStream::Qt_4_3)
+ max = QPalette::AlternateBase + 1;
+- for(int r = 0 ; r < max ; r++)
++ for(int r = 0 ; r < max ; r++)
+ s << g.brush((QPalette::ColorRole)r);
+ }
+ return s;
+@@ -1021,7 +1021,7 @@
+ int max = QPalette::ToolTipText + 1;
+ if (s.version() <= QDataStream::Qt_2_1)
+ max = QPalette::HighlightedText + 1;
+- if (s.version() <= QDataStream::Qt_4_3)
++ else if (s.version() <= QDataStream::Qt_4_3)
+ max = QPalette::AlternateBase + 1;
+ for (int r = 0; r < max; r++)
+ s << p.d->br[grp][r];
+--- a/src/gui/painting/qbrush.cpp
++++ b/src/gui/painting/qbrush.cpp
+@@ -924,12 +924,24 @@
+
+ QDataStream &operator<<(QDataStream &s, const QBrush &b)
+ {
+- s << (quint8)b.style() << b.color();
+- if (b.style() == Qt::TexturePattern) {
++ quint8 style = (quint8) b.style();
++
++ if (s.version() < QDataStream::Qt_4_0) {
++
++ if (style == Qt::LinearGradientPattern
++ || style == Qt::RadialGradientPattern
++ || style == Qt::ConicalGradientPattern)
++ style = Qt::NoBrush;
++ }
++
++ s << style << b.color();
++ if (b.style() == Qt::TexturePattern)
+ s << b.texture();
+- } else if (b.style() == Qt::LinearGradientPattern
++
++ if (s.version() >= QDataStream::Qt_4_0 && (
++ b.style() == Qt::LinearGradientPattern
+ || b.style() == Qt::RadialGradientPattern
+- || b.style() == Qt::ConicalGradientPattern) {
++ || b.style() == Qt::ConicalGradientPattern)) {
+ const QGradient *gradient = b.gradient();
+ int type_as_int = int(gradient->type());
+ s << type_as_int;
diff --git a/debian/patches/series b/debian/patches/series
index f3ee02f..42e9f36 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,6 +12,7 @@
0224-fast-qpixmap-fill.diff
0225-invalidate-tabbar-geometry-on-refresh.diff
0226-qtreeview-column_resize_when_needed.diff
+0227-qdatastream-regression.diff
# debian patches
01_qmake_for_debian.diff