1
qt-bugs@ issue : N211089
2
Trolltech task ID : 211301
3
bugs.kde.org number : None
5
author: Dirk Mueller <mueller@kde.org>
7
when launching Qt3 applications under a KDE that runs with Qt 4.4,
8
all apps either hang, crash, or eat horrible amounts of memory.
10
--- a/src/gui/kernel/qpalette.cpp
11
+++ b/src/gui/kernel/qpalette.cpp
13
int max = QPalette::NColorRoles;
14
if (s.version() <= QDataStream::Qt_2_1)
15
max = QPalette::HighlightedText + 1;
16
- if (s.version() <= QDataStream::Qt_4_3)
17
+ else if (s.version() <= QDataStream::Qt_4_3)
18
max = QPalette::AlternateBase + 1;
19
- for(int r = 0 ; r < max ; r++)
20
+ for(int r = 0 ; r < max ; r++)
21
s << g.brush((QPalette::ColorRole)r);
25
int max = QPalette::ToolTipText + 1;
26
if (s.version() <= QDataStream::Qt_2_1)
27
max = QPalette::HighlightedText + 1;
28
- if (s.version() <= QDataStream::Qt_4_3)
29
+ else if (s.version() <= QDataStream::Qt_4_3)
30
max = QPalette::AlternateBase + 1;
31
for (int r = 0; r < max; r++)
33
--- a/src/gui/painting/qbrush.cpp
34
+++ b/src/gui/painting/qbrush.cpp
37
QDataStream &operator<<(QDataStream &s, const QBrush &b)
39
- s << (quint8)b.style() << b.color();
40
- if (b.style() == Qt::TexturePattern) {
41
+ quint8 style = (quint8) b.style();
43
+ if (s.version() < QDataStream::Qt_4_0) {
45
+ if (style == Qt::LinearGradientPattern
46
+ || style == Qt::RadialGradientPattern
47
+ || style == Qt::ConicalGradientPattern)
48
+ style = Qt::NoBrush;
51
+ s << style << b.color();
52
+ if (b.style() == Qt::TexturePattern)
54
- } else if (b.style() == Qt::LinearGradientPattern
56
+ if (s.version() >= QDataStream::Qt_4_0 && (
57
+ b.style() == Qt::LinearGradientPattern
58
|| b.style() == Qt::RadialGradientPattern
59
- || b.style() == Qt::ConicalGradientPattern) {
60
+ || b.style() == Qt::ConicalGradientPattern)) {
61
const QGradient *gradient = b.gradient();
62
int type_as_int = int(gradient->type());