summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.7.patch/qte237-all.patch7
-rw-r--r--qt/qt-2.3.7.patch/qte237-iconviewspeed.patch7
2 files changed, 0 insertions, 14 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-all.patch b/qt/qt-2.3.7.patch/qte237-all.patch
index e3351a3..6f94211 100644
--- a/qt/qt-2.3.7.patch/qte237-all.patch
+++ b/qt/qt-2.3.7.patch/qte237-all.patch
@@ -1,725 +1,718 @@
1 1
2 2
3Included patches: 3Included patches:
4 4
5qte237-allowoverride.patch 5qte237-allowoverride.patch
6qte237-g++-aslinker.patch 6qte237-g++-aslinker.patch
7qte237-iconviewspeed.patch 7qte237-iconviewspeed.patch
8qte237-adjustsizes.patch 8qte237-adjustsizes.patch
9qte237-encoding.patch 9qte237-encoding.patch
10qte237-keyboard.patch 10qte237-keyboard.patch
11qte237-gcc34.patch 11qte237-gcc34.patch
12qte237-lefthand.patch 12qte237-lefthand.patch
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared qt-2.3.7/configs/linux-generic-g++-shared 22diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared qt-2.3.7/configs/linux-generic-g++-shared
23 --- qt-2.3.7-old/configs/linux-generic-g++-shared2004-07-23 15:22:56.000000000 +0200 23 --- qt-2.3.7-old/configs/linux-generic-g++-shared2004-07-23 15:22:56.000000000 +0200
24 +++ qt-2.3.7/configs/linux-generic-g++-shared2004-07-23 15:23:12.000000000 +0200 24 +++ qt-2.3.7/configs/linux-generic-g++-shared2004-07-23 15:23:12.000000000 +0200
25@@ -36,7 +36,7 @@ 25@@ -36,7 +36,7 @@
26 SYSCONF_LIBS_YACC= 26 SYSCONF_LIBS_YACC=
27 27
28 # Linking applications 28 # Linking applications
29 -SYSCONF_LINK = gcc 29 -SYSCONF_LINK = gcc
30 +SYSCONF_LINK = g++ 30 +SYSCONF_LINK = g++
31 SYSCONF_LFLAGS = 31 SYSCONF_LFLAGS =
32 SYSCONF_LIBS = 32 SYSCONF_LIBS =
33 33
34diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared-debug qt-2.3.7/configs/linux-generic-g++-shared-debug 34diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared-debug qt-2.3.7/configs/linux-generic-g++-shared-debug
35 --- qt-2.3.7-old/configs/linux-generic-g++-shared-debug2004-07-23 15:22:56.000000000 +0200 35 --- qt-2.3.7-old/configs/linux-generic-g++-shared-debug2004-07-23 15:22:56.000000000 +0200
36 +++ qt-2.3.7/configs/linux-generic-g++-shared-debug2004-07-23 15:23:12.000000000 +0200 36 +++ qt-2.3.7/configs/linux-generic-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
37@@ -36,7 +36,7 @@ 37@@ -36,7 +36,7 @@
38 SYSCONF_LIBS_YACC= 38 SYSCONF_LIBS_YACC=
39 39
40 # Linking applications 40 # Linking applications
41 -SYSCONF_LINK = gcc 41 -SYSCONF_LINK = gcc
42 +SYSCONF_LINK = g++ 42 +SYSCONF_LINK = g++
43 SYSCONF_LFLAGS = 43 SYSCONF_LFLAGS =
44 SYSCONF_LIBS = 44 SYSCONF_LIBS =
45 45
46diff -ur qt-2.3.7-old/configs/linux-generic-g++-static qt-2.3.7/configs/linux-generic-g++-static 46diff -ur qt-2.3.7-old/configs/linux-generic-g++-static qt-2.3.7/configs/linux-generic-g++-static
47 --- qt-2.3.7-old/configs/linux-generic-g++-static2004-07-23 15:22:56.000000000 +0200 47 --- qt-2.3.7-old/configs/linux-generic-g++-static2004-07-23 15:22:56.000000000 +0200
48 +++ qt-2.3.7/configs/linux-generic-g++-static2004-07-23 15:23:12.000000000 +0200 48 +++ qt-2.3.7/configs/linux-generic-g++-static2004-07-23 15:23:12.000000000 +0200
49@@ -36,7 +36,7 @@ 49@@ -36,7 +36,7 @@
50 SYSCONF_LIBS_YACC= 50 SYSCONF_LIBS_YACC=
51 51
52 # Linking applications 52 # Linking applications
53 -SYSCONF_LINK = gcc 53 -SYSCONF_LINK = gcc
54 +SYSCONF_LINK = g++ 54 +SYSCONF_LINK = g++
55 SYSCONF_LFLAGS = 55 SYSCONF_LFLAGS =
56 SYSCONF_LIBS = 56 SYSCONF_LIBS =
57 57
58diff -ur qt-2.3.7-old/configs/linux-generic-g++-static-debug qt-2.3.7/configs/linux-generic-g++-static-debug 58diff -ur qt-2.3.7-old/configs/linux-generic-g++-static-debug qt-2.3.7/configs/linux-generic-g++-static-debug
59 --- qt-2.3.7-old/configs/linux-generic-g++-static-debug2004-07-23 15:22:56.000000000 +0200 59 --- qt-2.3.7-old/configs/linux-generic-g++-static-debug2004-07-23 15:22:56.000000000 +0200
60 +++ qt-2.3.7/configs/linux-generic-g++-static-debug2004-07-23 15:23:12.000000000 +0200 60 +++ qt-2.3.7/configs/linux-generic-g++-static-debug2004-07-23 15:23:12.000000000 +0200
61@@ -36,7 +36,7 @@ 61@@ -36,7 +36,7 @@
62 SYSCONF_LIBS_YACC= 62 SYSCONF_LIBS_YACC=
63 63
64 # Linking applications 64 # Linking applications
65 -SYSCONF_LINK = gcc 65 -SYSCONF_LINK = gcc
66 +SYSCONF_LINK = g++ 66 +SYSCONF_LINK = g++
67 SYSCONF_LFLAGS = 67 SYSCONF_LFLAGS =
68 SYSCONF_LIBS = 68 SYSCONF_LIBS =
69 69
70diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared qt-2.3.7/configs/linux-generic_rtti-g++-shared 70diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared qt-2.3.7/configs/linux-generic_rtti-g++-shared
71 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared2004-07-23 15:22:56.000000000 +0200 71 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared2004-07-23 15:22:56.000000000 +0200
72 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared2004-07-23 15:23:12.000000000 +0200 72 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared2004-07-23 15:23:12.000000000 +0200
73@@ -36,7 +36,7 @@ 73@@ -36,7 +36,7 @@
74 SYSCONF_LIBS_YACC= 74 SYSCONF_LIBS_YACC=
75 75
76 # Linking applications 76 # Linking applications
77 -SYSCONF_LINK = gcc 77 -SYSCONF_LINK = gcc
78 +SYSCONF_LINK = g++ 78 +SYSCONF_LINK = g++
79 SYSCONF_LFLAGS = 79 SYSCONF_LFLAGS =
80 SYSCONF_LIBS = 80 SYSCONF_LIBS =
81 81
82diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug 82diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug
83 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug2004-07-23 15:22:56.000000000 +0200 83 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug2004-07-23 15:22:56.000000000 +0200
84 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200 84 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
85@@ -36,7 +36,7 @@ 85@@ -36,7 +36,7 @@
86 SYSCONF_LIBS_YACC= 86 SYSCONF_LIBS_YACC=
87 87
88 # Linking applications 88 # Linking applications
89 -SYSCONF_LINK = gcc 89 -SYSCONF_LINK = gcc
90 +SYSCONF_LINK = g++ 90 +SYSCONF_LINK = g++
91 SYSCONF_LFLAGS = 91 SYSCONF_LFLAGS =
92 SYSCONF_LIBS = 92 SYSCONF_LIBS =
93 93
94diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static qt-2.3.7/configs/linux-generic_rtti-g++-static 94diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static qt-2.3.7/configs/linux-generic_rtti-g++-static
95 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-static2004-07-23 15:22:56.000000000 +0200 95 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-static2004-07-23 15:22:56.000000000 +0200
96 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static2004-07-23 15:23:12.000000000 +0200 96 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static2004-07-23 15:23:12.000000000 +0200
97@@ -36,7 +36,7 @@ 97@@ -36,7 +36,7 @@
98 SYSCONF_LIBS_YACC= 98 SYSCONF_LIBS_YACC=
99 99
100 # Linking applications 100 # Linking applications
101 -SYSCONF_LINK = gcc 101 -SYSCONF_LINK = gcc
102 +SYSCONF_LINK = g++ 102 +SYSCONF_LINK = g++
103 SYSCONF_LFLAGS = 103 SYSCONF_LFLAGS =
104 SYSCONF_LIBS = 104 SYSCONF_LIBS =
105 105
106diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug qt-2.3.7/configs/linux-generic_rtti-g++-static-debug 106diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug qt-2.3.7/configs/linux-generic_rtti-g++-static-debug
107 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug2004-07-23 15:22:56.000000000 +0200 107 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug2004-07-23 15:22:56.000000000 +0200
108 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200 108 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200
109@@ -36,7 +36,7 @@ 109@@ -36,7 +36,7 @@
110 SYSCONF_LIBS_YACC= 110 SYSCONF_LIBS_YACC=
111 111
112 # Linking applications 112 # Linking applications
113 -SYSCONF_LINK = gcc 113 -SYSCONF_LINK = gcc
114 +SYSCONF_LINK = g++ 114 +SYSCONF_LINK = g++
115 SYSCONF_LFLAGS = 115 SYSCONF_LFLAGS =
116 SYSCONF_LIBS = 116 SYSCONF_LIBS =
117 117
118diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared qt-2.3.7/configs/linux-x86rtti-g++-shared 118diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared qt-2.3.7/configs/linux-x86rtti-g++-shared
119 --- qt-2.3.7-old/configs/linux-x86rtti-g++-shared2004-07-23 15:22:56.000000000 +0200 119 --- qt-2.3.7-old/configs/linux-x86rtti-g++-shared2004-07-23 15:22:56.000000000 +0200
120 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared2004-07-23 15:23:12.000000000 +0200 120 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared2004-07-23 15:23:12.000000000 +0200
121@@ -36,7 +36,7 @@ 121@@ -36,7 +36,7 @@
122 SYSCONF_LIBS_YACC= 122 SYSCONF_LIBS_YACC=
123 123
124 # Linking applications 124 # Linking applications
125 -SYSCONF_LINK = gcc 125 -SYSCONF_LINK = gcc
126 +SYSCONF_LINK = g++ 126 +SYSCONF_LINK = g++
127 SYSCONF_LFLAGS = 127 SYSCONF_LFLAGS =
128 SYSCONF_LIBS = -lm 128 SYSCONF_LIBS = -lm
129 129
130diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug qt-2.3.7/configs/linux-x86rtti-g++-shared-debug 130diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug qt-2.3.7/configs/linux-x86rtti-g++-shared-debug
131 --- qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:22:56.000000000 +0200 131 --- qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:22:56.000000000 +0200
132 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200 132 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
133@@ -36,7 +36,7 @@ 133@@ -36,7 +36,7 @@
134 SYSCONF_LIBS_YACC= 134 SYSCONF_LIBS_YACC=
135 135
136 # Linking applications 136 # Linking applications
137 -SYSCONF_LINK = gcc 137 -SYSCONF_LINK = gcc
138 +SYSCONF_LINK = g++ 138 +SYSCONF_LINK = g++
139 SYSCONF_LFLAGS = 139 SYSCONF_LFLAGS =
140 SYSCONF_LIBS = -lm 140 SYSCONF_LIBS = -lm
141 141
142diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x86rtti-g++-static 142diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x86rtti-g++-static
143 --- qt-2.3.7-old/configs/linux-x86rtti-g++-static2004-07-23 15:22:56.000000000 +0200 143 --- qt-2.3.7-old/configs/linux-x86rtti-g++-static2004-07-23 15:22:56.000000000 +0200
144 +++ qt-2.3.7/configs/linux-x86rtti-g++-static2004-07-23 15:23:12.000000000 +0200 144 +++ qt-2.3.7/configs/linux-x86rtti-g++-static2004-07-23 15:23:12.000000000 +0200
145@@ -36,7 +36,7 @@ 145@@ -36,7 +36,7 @@
146 SYSCONF_LIBS_YACC= 146 SYSCONF_LIBS_YACC=
147 147
148 # Linking applications 148 # Linking applications
149 -SYSCONF_LINK = gcc 149 -SYSCONF_LINK = gcc
150 +SYSCONF_LINK = g++ 150 +SYSCONF_LINK = g++
151 SYSCONF_LFLAGS = 151 SYSCONF_LFLAGS =
152 SYSCONF_LIBS = -lm 152 SYSCONF_LIBS = -lm
153 153
154diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug 154diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug
155 --- qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug2004-07-23 15:22:56.000000000 +0200 155 --- qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug2004-07-23 15:22:56.000000000 +0200
156 +++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200 156 +++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200
157@@ -36,7 +36,7 @@ 157@@ -36,7 +36,7 @@
158 SYSCONF_LIBS_YACC= 158 SYSCONF_LIBS_YACC=
159 159
160 # Linking applications 160 # Linking applications
161 -SYSCONF_LINK = gcc 161 -SYSCONF_LINK = gcc
162 +SYSCONF_LINK = g++ 162 +SYSCONF_LINK = g++
163 SYSCONF_LFLAGS = 163 SYSCONF_LFLAGS =
164 SYSCONF_LIBS = -lm 164 SYSCONF_LIBS = -lm
165 165
166diff -ur qt-2.3.7-old/include/qapplication.h qt-2.3.7/include/qapplication.h 166diff -ur qt-2.3.7-old/include/qapplication.h qt-2.3.7/include/qapplication.h
167 --- qt-2.3.7-old/include/qapplication.h2004-07-23 15:22:56.000000000 +0200 167 --- qt-2.3.7-old/include/qapplication.h2004-07-23 15:22:56.000000000 +0200
168 +++ qt-2.3.7/include/qapplication.h2004-07-23 15:25:42.000000000 +0200 168 +++ qt-2.3.7/include/qapplication.h2004-07-23 15:25:42.000000000 +0200
169@@ -61,6 +61,10 @@ 169@@ -61,6 +61,10 @@
170 class QSemaphore; 170 class QSemaphore;
171 #endif 171 #endif
172 172
173+#if !defined( QT_WEAK_SYMBOL ) 173+#if !defined( QT_WEAK_SYMBOL )
174+#define QT_WEAK_SYMBOL 174+#define QT_WEAK_SYMBOL
175+#endif 175+#endif
176+ 176+
177 // REMOVE IN 3.0 (just here for moc source compatibility) 177 // REMOVE IN 3.0 (just here for moc source compatibility)
178 #define QNonBaseApplication QApplication 178 #define QNonBaseApplication QApplication
179 179
180@@ -85,7 +89,10 @@ 180@@ -85,7 +89,10 @@
181 181
182 #ifndef QT_NO_STYLE 182 #ifndef QT_NO_STYLE
183 static QStyle &style(); 183 static QStyle &style();
184 - static void setStyle( QStyle* ); 184 - static void setStyle( QStyle* );
185 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; 185 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
186+private: 186+private:
187 +static void setStyle_NonWeak( QStyle* ); 187 +static void setStyle_NonWeak( QStyle* );
188+public: 188+public:
189 #endif 189 #endif
190 #if 1/* OBSOLETE */ 190 #if 1/* OBSOLETE */
191 enum ColorMode { NormalColors, CustomColors }; 191 enum ColorMode { NormalColors, CustomColors };
192@@ -106,11 +113,19 @@ 192@@ -106,11 +113,19 @@
193 #ifndef QT_NO_PALETTE 193 #ifndef QT_NO_PALETTE
194 static QPalette palette( const QWidget* = 0 ); 194 static QPalette palette( const QWidget* = 0 );
195 static void setPalette( const QPalette &, bool informWidgets=FALSE, 195 static void setPalette( const QPalette &, bool informWidgets=FALSE,
196 + const char* className = 0 ) QT_WEAK_SYMBOL; 196 + const char* className = 0 ) QT_WEAK_SYMBOL;
197+private: 197+private:
198 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, 198 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
199 const char* className = 0 ); 199 const char* className = 0 );
200+public: 200+public:
201 #endif 201 #endif
202 static QFont font( const QWidget* = 0 ); 202 static QFont font( const QWidget* = 0 );
203 static void setFont( const QFont &, bool informWidgets=FALSE, 203 static void setFont( const QFont &, bool informWidgets=FALSE,
204 + const char* className = 0 ) QT_WEAK_SYMBOL; 204 + const char* className = 0 ) QT_WEAK_SYMBOL;
205+private: 205+private:
206 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, 206 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
207 const char* className = 0 ); 207 const char* className = 0 );
208 +public: 208 +public:
209 static QFontMetrics fontMetrics(); 209 static QFontMetrics fontMetrics();
210 210
211 QWidget *mainWidget() const; 211 QWidget *mainWidget() const;
212@@ -207,7 +222,10 @@ 212@@ -207,7 +222,10 @@
213 void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); 213 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
214 #ifndef QT_NO_QWS_MANAGER 214 #ifndef QT_NO_QWS_MANAGER
215 static QWSDecoration &qwsDecoration(); 215 static QWSDecoration &qwsDecoration();
216- static void qwsSetDecoration( QWSDecoration *); 216- static void qwsSetDecoration( QWSDecoration *);
217+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; 217+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
218+private: 218+private:
219+ static void qwsSetDecoration_NonWeak( QWSDecoration *); 219+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
220+public: 220+public:
221 #endif 221 #endif
222 #endif 222 #endif
223 223
224diff -ur qt-2.3.7-old/include/qcstring.h qt-2.3.7/include/qcstring.h 224diff -ur qt-2.3.7-old/include/qcstring.h qt-2.3.7/include/qcstring.h
225 --- qt-2.3.7-old/include/qcstring.h2004-07-23 15:22:56.000000000 +0200 225 --- qt-2.3.7-old/include/qcstring.h2004-07-23 15:22:56.000000000 +0200
226 +++ qt-2.3.7/include/qcstring.h2004-07-23 15:42:01.000000000 +0200 226 +++ qt-2.3.7/include/qcstring.h2004-07-23 15:42:01.000000000 +0200
227@@ -119,7 +119,7 @@ 227@@ -119,7 +119,7 @@
228 // We want to keep source compatibility for 2.x 228 // We want to keep source compatibility for 2.x
229 // ### TODO for 4.0: completely remove these and the cstr* functions 229 // ### TODO for 4.0: completely remove these and the cstr* functions
230 230
231-#if !defined(QT_GENUINE_STR) 231-#if !defined(QT_GENUINE_STR)
232+#if 0 232+#if 0
233 233
234 #undefstrlen 234 #undefstrlen
235 #define strlen qstrlen 235 #define strlen qstrlen
236diff -ur qt-2.3.7-old/include/qfontdatabase.h qt-2.3.7/include/qfontdatabase.h 236diff -ur qt-2.3.7-old/include/qfontdatabase.h qt-2.3.7/include/qfontdatabase.h
237 --- qt-2.3.7-old/include/qfontdatabase.h2004-07-23 15:22:56.000000000 +0200 237 --- qt-2.3.7-old/include/qfontdatabase.h2004-07-23 15:22:56.000000000 +0200
238 +++ qt-2.3.7/include/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200 238 +++ qt-2.3.7/include/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200
239@@ -59,6 +59,10 @@ 239@@ -59,6 +59,10 @@
240 class QDiskFont; 240 class QDiskFont;
241 #endif 241 #endif
242 242
243+#if !defined( QT_WEAK_SYMBOL ) 243+#if !defined( QT_WEAK_SYMBOL )
244+#define QT_WEAK_SYMBOL 244+#define QT_WEAK_SYMBOL
245+#endif 245+#endif
246+ 246+
247 class QFontDatabasePrivate; 247 class QFontDatabasePrivate;
248 248
249 class Q_EXPORT QFontDatabase 249 class Q_EXPORT QFontDatabase
250@@ -67,9 +71,16 @@ 250@@ -67,9 +71,16 @@
251 QFontDatabase(); 251 QFontDatabase();
252 252
253 QStringList families( bool onlyForLocale = TRUE ) const; 253 QStringList families( bool onlyForLocale = TRUE ) const;
254+ 254+
255+ 255+
256 QValueList<int> pointSizes( const QString &family, 256 QValueList<int> pointSizes( const QString &family,
257 const QString &style = QString::null, 257 const QString &style = QString::null,
258 - const QString &charSet = QString::null ); 258 - const QString &charSet = QString::null );
259 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; 259 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
260+private: 260+private:
261+ QValueList<int> pointSizes_NonWeak( const QString &family, 261+ QValueList<int> pointSizes_NonWeak( const QString &family,
262 + const QString &style, 262 + const QString &style,
263 + const QString &charSet ); 263 + const QString &charSet );
264+public: 264+public:
265 QStringList styles( const QString &family, 265 QStringList styles( const QString &family,
266 const QString &charSet = QString::null ) const; 266 const QString &charSet = QString::null ) const;
267 QStringList charSets( const QString &familyName, 267 QStringList charSets( const QString &familyName,
268diff -ur qt-2.3.7-old/include/qglobal.h qt-2.3.7/include/qglobal.h 268diff -ur qt-2.3.7-old/include/qglobal.h qt-2.3.7/include/qglobal.h
269 --- qt-2.3.7-old/include/qglobal.h2004-07-23 15:22:56.000000000 +0200 269 --- qt-2.3.7-old/include/qglobal.h2004-07-23 15:22:56.000000000 +0200
270 +++ qt-2.3.7/include/qglobal.h2004-07-23 15:42:01.000000000 +0200 270 +++ qt-2.3.7/include/qglobal.h2004-07-23 15:42:01.000000000 +0200
271@@ -207,8 +207,16 @@ 271@@ -207,8 +207,16 @@
272 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 272 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
273 #define Q_FP_CCAST_BROKEN 273 #define Q_FP_CCAST_BROKEN
274 #endif 274 #endif
275+/* ARM gcc pads structs to 32 bits, even when they contain a single 275+/* ARM gcc pads structs to 32 bits, even when they contain a single
276+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid 276+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
277+ QString bloat. However, gcc 3.4 doesn't allow us to create references to 277+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
278+ members of a packed struct. (Pointers are OK, because then you 278+ members of a packed struct. (Pointers are OK, because then you
279+ supposedly know what you are doing.) */ 279+ supposedly know what you are doing.) */
280 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) 280 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
281 #define Q_PACKED __attribute__ ((packed)) 281 #define Q_PACKED __attribute__ ((packed))
282+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 282+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
283+# define Q_NO_PACKED_REFERENCE 283+# define Q_NO_PACKED_REFERENCE
284+# endif 284+# endif
285 #endif 285 #endif
286 #elif defined(__xlC__) 286 #elif defined(__xlC__)
287 #define _CC_XLC_ 287 #define _CC_XLC_
288diff -ur qt-2.3.7-old/include/qiconview.h qt-2.3.7/include/qiconview.h 288diff -ur qt-2.3.7-old/include/qiconview.h qt-2.3.7/include/qiconview.h
289 --- qt-2.3.7-old/include/qiconview.h2004-07-23 15:22:56.000000000 +0200 289 --- qt-2.3.7-old/include/qiconview.h2004-07-23 15:22:56.000000000 +0200
290 +++ qt-2.3.7/include/qiconview.h2004-07-23 15:45:34.000000000 +0200 290 +++ qt-2.3.7/include/qiconview.h2004-07-23 15:45:34.000000000 +0200
291@@ -444,6 +444,7 @@ 291@@ -444,6 +444,7 @@
292 virtual void contentsDropEvent( QDropEvent *e ); 292 virtual void contentsDropEvent( QDropEvent *e );
293 #endif 293 #endif
294 294
295+ void bufferedPaintEvent( QPaintEvent* ); 295+ void bufferedPaintEvent( QPaintEvent* );
296 virtual void resizeEvent( QResizeEvent* e ); 296 virtual void resizeEvent( QResizeEvent* e );
297 virtual void keyPressEvent( QKeyEvent *e ); 297 virtual void keyPressEvent( QKeyEvent *e );
298 virtual void focusInEvent( QFocusEvent *e ); 298 virtual void focusInEvent( QFocusEvent *e );
299diff -ur qt-2.3.7-old/include/qsortedlist.h qt-2.3.7/include/qsortedlist.h 299diff -ur qt-2.3.7-old/include/qsortedlist.h qt-2.3.7/include/qsortedlist.h
300 --- qt-2.3.7-old/include/qsortedlist.h2004-07-23 15:22:56.000000000 +0200 300 --- qt-2.3.7-old/include/qsortedlist.h2004-07-23 15:22:56.000000000 +0200
301 +++ qt-2.3.7/include/qsortedlist.h2004-07-23 15:42:01.000000000 +0200 301 +++ qt-2.3.7/include/qsortedlist.h2004-07-23 15:42:01.000000000 +0200
302@@ -48,7 +48,7 @@ 302@@ -48,7 +48,7 @@
303 public: 303 public:
304 QSortedList() {} 304 QSortedList() {}
305 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} 305 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
306- ~QSortedList() { clear(); } 306- ~QSortedList() { clear(); }
307+ ~QSortedList() { this->clear(); } 307+ ~QSortedList() { this->clear(); }
308 QSortedList<type> &operator=(const QSortedList<type> &l) 308 QSortedList<type> &operator=(const QSortedList<type> &l)
309 { return (QSortedList<type>&)QList<type>::operator=(l); } 309 { return (QSortedList<type>&)QList<type>::operator=(l); }
310 310
311diff -ur qt-2.3.7-old/include/qstring.h qt-2.3.7/include/qstring.h 311diff -ur qt-2.3.7-old/include/qstring.h qt-2.3.7/include/qstring.h
312 --- qt-2.3.7-old/include/qstring.h2004-07-23 15:22:56.000000000 +0200 312 --- qt-2.3.7-old/include/qstring.h2004-07-23 15:22:56.000000000 +0200
313 +++ qt-2.3.7/include/qstring.h2004-07-23 15:42:01.000000000 +0200 313 +++ qt-2.3.7/include/qstring.h2004-07-23 15:42:01.000000000 +0200
314@@ -163,8 +163,16 @@ 314@@ -163,8 +163,16 @@
315 bool isLetterOrNumber() const; 315 bool isLetterOrNumber() const;
316 bool isDigit() const; 316 bool isDigit() const;
317 317
318+ 318+
319+#ifdef Q_NO_PACKED_REFERENCE 319+#ifdef Q_NO_PACKED_REFERENCE
320+ uchar& cell() { return *(&cl); } 320+ uchar& cell() { return *(&cl); }
321+ uchar& row() { return *(&rw); } 321+ uchar& row() { return *(&rw); }
322+#else 322+#else
323 uchar& cell() { return cl; } 323 uchar& cell() { return cl; }
324- uchar& row() { return rw; } 324- uchar& row() { return rw; }
325+ uchar& row() { return rw; } 325+ uchar& row() { return rw; }
326+#endif 326+#endif
327+ 327+
328+ 328+
329 uchar cell() const { return cl; } 329 uchar cell() const { return cl; }
330 uchar row() const { return rw; } 330 uchar row() const { return rw; }
331 331
332diff -ur qt-2.3.7-old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp 332diff -ur qt-2.3.7-old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp
333 --- qt-2.3.7-old/src/iconview/qiconview.cpp2004-07-23 15:22:56.000000000 +0200 333 --- qt-2.3.7-old/src/iconview/qiconview.cpp2004-07-23 15:22:56.000000000 +0200
334 +++ qt-2.3.7/src/iconview/qiconview.cpp2004-07-23 15:45:34.000000000 +0200 334 +++ qt-2.3.7/src/iconview/qiconview.cpp2004-07-23 15:45:34.000000000 +0200
335@@ -1,5 +1,5 @@
336 /****************************************************************************
337-** $Id$
338+** $Id$
339 **
340 ** Implementation of QIconView widget class
341 **
342@@ -220,6 +220,7 @@ 335@@ -220,6 +220,7 @@
343 QIconView::SelectionMode selectionMode; 336 QIconView::SelectionMode selectionMode;
344 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; 337 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
345 QRect *rubber; 338 QRect *rubber;
346+ QPixmap *backBuffer; 339+ QPixmap *backBuffer;
347 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, 340 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
348 *fullRedrawTimer; 341 *fullRedrawTimer;
349 int rastX, rastY, spacing; 342 int rastX, rastY, spacing;
350@@ -2263,6 +2264,7 @@ 343@@ -2263,6 +2264,7 @@
351 d->currentItem = 0; 344 d->currentItem = 0;
352 d->highlightedItem = 0; 345 d->highlightedItem = 0;
353 d->rubber = 0; 346 d->rubber = 0;
354+ d->backBuffer = 0; 347+ d->backBuffer = 0;
355 d->scrollTimer = 0; 348 d->scrollTimer = 0;
356 d->startDragItem = 0; 349 d->startDragItem = 0;
357 d->tmpCurrentItem = 0; 350 d->tmpCurrentItem = 0;
358@@ -2411,6 +2413,8 @@ 351@@ -2411,6 +2413,8 @@
359 delete item; 352 delete item;
360 item = tmp; 353 item = tmp;
361 } 354 }
362+ delete d->backBuffer; 355+ delete d->backBuffer;
363+ d->backBuffer = 0; 356+ d->backBuffer = 0;
364 delete d->fm; 357 delete d->fm;
365 d->fm = 0; 358 d->fm = 0;
366 #ifndef QT_NO_TOOLTIP 359 #ifndef QT_NO_TOOLTIP
367@@ -2877,6 +2881,48 @@ 360@@ -2877,6 +2881,48 @@
368 } 361 }
369 362
370 /*! 363 /*!
371+ This function grabs all paintevents that otherwise would have been 364+ This function grabs all paintevents that otherwise would have been
372+ processed by the QScrollView::viewportPaintEvent(). Here we use a 365+ processed by the QScrollView::viewportPaintEvent(). Here we use a
373+ doublebuffer to reduce 'on-paint' flickering on QIconView 366+ doublebuffer to reduce 'on-paint' flickering on QIconView
374+ (and of course its childs). 367+ (and of course its childs).
375+ 368+
376+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() 369+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
377+*/ 370+*/
378+ 371+
379+void QIconView::bufferedPaintEvent( QPaintEvent* pe ) 372+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
380+{ 373+{
381+ QWidget* vp = viewport(); 374+ QWidget* vp = viewport();
382+ QRect r = pe->rect() & vp->rect(); 375+ QRect r = pe->rect() & vp->rect();
383+ int ex = r.x() + contentsX(); 376+ int ex = r.x() + contentsX();
384+ int ey = r.y() + contentsY(); 377+ int ey = r.y() + contentsY();
385+ int ew = r.width(); 378+ int ew = r.width();
386+ int eh = r.height(); 379+ int eh = r.height();
387+ 380+
388+ if ( !d->backBuffer ) 381+ if ( !d->backBuffer )
389 +d->backBuffer = new QPixmap(vp->size()); 382 +d->backBuffer = new QPixmap(vp->size());
390+ if ( d->backBuffer->size() != vp->size() ) { 383+ if ( d->backBuffer->size() != vp->size() ) {
391 +//Resize function (with hysteesis). Uses a good compromise between memory 384 +//Resize function (with hysteesis). Uses a good compromise between memory
392 +//consumption and speed (number) of resizes. 385 +//consumption and speed (number) of resizes.
393+ float newWidth = (float)vp->width(); 386+ float newWidth = (float)vp->width();
394 +float newHeight = (float)vp->height(); 387 +float newHeight = (float)vp->height();
395 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) 388 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
396 +{ 389 +{
397 + newWidth *= 1.1892; 390 + newWidth *= 1.1892;
398 + newHeight *= 1.1892; 391 + newHeight *= 1.1892;
399 + d->backBuffer->resize( (int)newWidth, (int)newHeight ); 392 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
400 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) 393 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
401 + d->backBuffer->resize( (int)newWidth, (int)newHeight ); 394 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
402+ } 395+ }
403+ 396+
404+ QPainter p; 397+ QPainter p;
405+ p.begin(d->backBuffer, vp); 398+ p.begin(d->backBuffer, vp);
406+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); 399+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
407+ p.end(); 400+ p.end();
408+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); 401+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
409+} 402+}
410+ 403+
411+/*! 404+/*!
412+ 405+
413 \reimp 406 \reimp
414 */ 407 */
415 408
416@@ -4855,7 +4901,7 @@ 409@@ -4855,7 +4901,7 @@
417 if ( !d->rubber ) 410 if ( !d->rubber )
418 drawDragShapes( d->oldDragPos ); 411 drawDragShapes( d->oldDragPos );
419 } 412 }
420 - viewportPaintEvent( (QPaintEvent*)e ); 413 - viewportPaintEvent( (QPaintEvent*)e );
421+ bufferedPaintEvent ((QPaintEvent*)e ); 414+ bufferedPaintEvent ((QPaintEvent*)e );
422 if ( d->dragging ) { 415 if ( d->dragging ) {
423 if ( !d->rubber ) 416 if ( !d->rubber )
424 drawDragShapes( d->oldDragPos ); 417 drawDragShapes( d->oldDragPos );
425@@ -5286,11 +5332,19 @@ 418@@ -5286,11 +5332,19 @@
426 return; 419 return;
427 420
428 if ( item->d->container1 && d->firstContainer ) { 421 if ( item->d->container1 && d->firstContainer ) {
429 -item->d->container1->items.removeRef( item ); 422 -item->d->container1->items.removeRef( item );
430+ //Special-case checking of the last item, since this may be 423+ //Special-case checking of the last item, since this may be
431+ //called a few times for the same item. 424+ //called a few times for the same item.
432+ if (item->d->container1->items.last() == item) 425+ if (item->d->container1->items.last() == item)
433+ item->d->container1->items.removeLast(); 426+ item->d->container1->items.removeLast();
434+ else 427+ else
435+ item->d->container1->items.removeRef( item ); 428+ item->d->container1->items.removeRef( item );
436 } 429 }
437 item->d->container1 = 0; 430 item->d->container1 = 0;
438 if ( item->d->container2 && d->firstContainer ) { 431 if ( item->d->container2 && d->firstContainer ) {
439 -item->d->container2->items.removeRef( item ); 432 -item->d->container2->items.removeRef( item );
440+ if (item->d->container2->items.last() == item) 433+ if (item->d->container2->items.last() == item)
441+ item->d->container2->items.removeLast(); 434+ item->d->container2->items.removeLast();
442+ else 435+ else
443+ item->d->container2->items.removeRef( item ); 436+ item->d->container2->items.removeRef( item );
444 } 437 }
445 item->d->container2 = 0; 438 item->d->container2 = 0;
446 439
447diff -ur qt-2.3.7-old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h 440diff -ur qt-2.3.7-old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h
448 --- qt-2.3.7-old/src/iconview/qiconview.h2004-07-23 15:22:56.000000000 +0200 441 --- qt-2.3.7-old/src/iconview/qiconview.h2004-07-23 15:22:56.000000000 +0200
449 +++ qt-2.3.7/src/iconview/qiconview.h2004-07-23 15:45:34.000000000 +0200 442 +++ qt-2.3.7/src/iconview/qiconview.h2004-07-23 15:45:34.000000000 +0200
450@@ -444,6 +444,7 @@ 443@@ -444,6 +444,7 @@
451 virtual void contentsDropEvent( QDropEvent *e ); 444 virtual void contentsDropEvent( QDropEvent *e );
452 #endif 445 #endif
453 446
454+ void bufferedPaintEvent( QPaintEvent* ); 447+ void bufferedPaintEvent( QPaintEvent* );
455 virtual void resizeEvent( QResizeEvent* e ); 448 virtual void resizeEvent( QResizeEvent* e );
456 virtual void keyPressEvent( QKeyEvent *e ); 449 virtual void keyPressEvent( QKeyEvent *e );
457 virtual void focusInEvent( QFocusEvent *e ); 450 virtual void focusInEvent( QFocusEvent *e );
458diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp 451diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp
459 --- qt-2.3.7-old/src/kernel/qapplication.cpp2004-07-23 15:22:56.000000000 +0200 452 --- qt-2.3.7-old/src/kernel/qapplication.cpp2004-07-23 15:22:56.000000000 +0200
460 +++ qt-2.3.7/src/kernel/qapplication.cpp2004-07-23 15:25:42.000000000 +0200 453 +++ qt-2.3.7/src/kernel/qapplication.cpp2004-07-23 15:25:42.000000000 +0200
461@@ -35,6 +35,8 @@ 454@@ -35,6 +35,8 @@
462 ** 455 **
463 **********************************************************************/ 456 **********************************************************************/
464 457
465 +#define QT_WEAK_SYMBOL__attribute__(( weak )) 458 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
466+ 459+
467 #include "qobjectlist.h" 460 #include "qobjectlist.h"
468 #include "qobjectdict.h" 461 #include "qobjectdict.h"
469 #include "qapplication.h" 462 #include "qapplication.h"
470@@ -933,11 +935,16 @@ 463@@ -933,11 +935,16 @@
471 #ifndef QT_NO_STYLE 464 #ifndef QT_NO_STYLE
472 void QApplication::setStyle( QStyle *style ) 465 void QApplication::setStyle( QStyle *style )
473 { 466 {
474 +setStyle_NonWeak ( style ); 467 +setStyle_NonWeak ( style );
475+} 468+}
476+ 469+
477+void QApplication::setStyle_NonWeak( QStyle *style ) 470+void QApplication::setStyle_NonWeak( QStyle *style )
478+{ 471+{
479 QStyle* old = app_style; 472 QStyle* old = app_style;
480- app_style = style; 473- app_style = style;
481 474
482 if ( startingUp() ) { 475 if ( startingUp() ) {
483 delete old; 476 delete old;
484 +app_style = style; 477 +app_style = style;
485 return; 478 return;
486 } 479 }
487 480
488@@ -958,6 +965,8 @@ 481@@ -958,6 +965,8 @@
489 old->unPolish( qApp ); 482 old->unPolish( qApp );
490 } 483 }
491 484
492+ app_style = style; 485+ app_style = style;
493+ 486+
494 // take care of possible palette requirements of certain gui 487 // take care of possible palette requirements of certain gui
495 // styles. Do it before polishing the application since the style 488 // styles. Do it before polishing the application since the style
496 // might call QApplication::setStyle() itself 489 // might call QApplication::setStyle() itself
497@@ -1184,13 +1193,30 @@ 490@@ -1184,13 +1193,30 @@
498 \sa QWidget::setPalette(), palette(), QStyle::polish() 491 \sa QWidget::setPalette(), palette(), QStyle::polish()
499 */ 492 */
500 493
501-void QApplication::setPalette( const QPalette &palette, bool informWidgets, 494-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
502+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, 495+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
503 + const char* className ) 496 + const char* className )
504+{ 497+{
505 +setPalette_NonWeak ( palette, informWidgets, className ); 498 +setPalette_NonWeak ( palette, informWidgets, className );
506+} 499+}
507+ 500+
508+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, 501+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
509 const char* className ) 502 const char* className )
510 { 503 {
511 QPalette pal = palette; 504 QPalette pal = palette;
512 #ifndef QT_NO_STYLE 505 #ifndef QT_NO_STYLE
513- if ( !startingUp() ) 506- if ( !startingUp() )
514+ if ( !startingUp() ) { 507+ if ( !startingUp() ) {
515 qApp->style().polish( pal );// NB: non-const reference 508 qApp->style().polish( pal );// NB: non-const reference
516 +if ( className ) { 509 +if ( className ) {
517 + // if we just polished a class specific palette (this normally 510 + // if we just polished a class specific palette (this normally
518 + // only called by qt_fix_tooltips - see below), we better re- 511 + // only called by qt_fix_tooltips - see below), we better re-
519 + // polish the global palette. Some styles like liquid can get 512 + // polish the global palette. Some styles like liquid can get
520 + // confused, because they can not detect if the polished palette 513 + // confused, because they can not detect if the polished palette
521 + // is the global one or only a class specific one. 514 + // is the global one or only a class specific one.
522 + // (liquid uses this palette to calculate blending pixmaps) 515 + // (liquid uses this palette to calculate blending pixmaps)
523 + QPalette p = qApp-> palette ( ); 516 + QPalette p = qApp-> palette ( );
524 + qApp->style().polish ( p ); 517 + qApp->style().polish ( p );
525 +} 518 +}
526+ } 519+ }
527 #endif 520 #endif
528 bool all = FALSE; 521 bool all = FALSE;
529 if ( !className ) { 522 if ( !className ) {
530@@ -1275,6 +1301,12 @@ 523@@ -1275,6 +1301,12 @@
531 void QApplication::setFont( const QFont &font, bool informWidgets, 524 void QApplication::setFont( const QFont &font, bool informWidgets,
532 const char* className ) 525 const char* className )
533 { 526 {
534 +setFont_NonWeak ( font, informWidgets, className ); 527 +setFont_NonWeak ( font, informWidgets, className );
535+} 528+}
536+ 529+
537+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, 530+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
538 + const char* className ) 531 + const char* className )
539+{ 532+{
540 bool all = FALSE; 533 bool all = FALSE;
541 if ( !className ) { 534 if ( !className ) {
542 if ( !app_font ) { 535 if ( !app_font ) {
543diff -ur qt-2.3.7-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h 536diff -ur qt-2.3.7-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h
544 --- qt-2.3.7-old/src/kernel/qapplication.h2004-07-23 15:22:56.000000000 +0200 537 --- qt-2.3.7-old/src/kernel/qapplication.h2004-07-23 15:22:56.000000000 +0200
545 +++ qt-2.3.7/src/kernel/qapplication.h2004-07-23 15:25:42.000000000 +0200 538 +++ qt-2.3.7/src/kernel/qapplication.h2004-07-23 15:25:42.000000000 +0200
546@@ -61,6 +61,10 @@ 539@@ -61,6 +61,10 @@
547 class QSemaphore; 540 class QSemaphore;
548 #endif 541 #endif
549 542
550+#if !defined( QT_WEAK_SYMBOL ) 543+#if !defined( QT_WEAK_SYMBOL )
551+#define QT_WEAK_SYMBOL 544+#define QT_WEAK_SYMBOL
552+#endif 545+#endif
553+ 546+
554 // REMOVE IN 3.0 (just here for moc source compatibility) 547 // REMOVE IN 3.0 (just here for moc source compatibility)
555 #define QNonBaseApplication QApplication 548 #define QNonBaseApplication QApplication
556 549
557@@ -85,7 +89,10 @@ 550@@ -85,7 +89,10 @@
558 551
559 #ifndef QT_NO_STYLE 552 #ifndef QT_NO_STYLE
560 static QStyle &style(); 553 static QStyle &style();
561 - static void setStyle( QStyle* ); 554 - static void setStyle( QStyle* );
562 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; 555 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
563+private: 556+private:
564 +static void setStyle_NonWeak( QStyle* ); 557 +static void setStyle_NonWeak( QStyle* );
565+public: 558+public:
566 #endif 559 #endif
567 #if 1/* OBSOLETE */ 560 #if 1/* OBSOLETE */
568 enum ColorMode { NormalColors, CustomColors }; 561 enum ColorMode { NormalColors, CustomColors };
569@@ -106,11 +113,19 @@ 562@@ -106,11 +113,19 @@
570 #ifndef QT_NO_PALETTE 563 #ifndef QT_NO_PALETTE
571 static QPalette palette( const QWidget* = 0 ); 564 static QPalette palette( const QWidget* = 0 );
572 static void setPalette( const QPalette &, bool informWidgets=FALSE, 565 static void setPalette( const QPalette &, bool informWidgets=FALSE,
573 + const char* className = 0 ) QT_WEAK_SYMBOL; 566 + const char* className = 0 ) QT_WEAK_SYMBOL;
574+private: 567+private:
575 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, 568 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
576 const char* className = 0 ); 569 const char* className = 0 );
577+public: 570+public:
578 #endif 571 #endif
579 static QFont font( const QWidget* = 0 ); 572 static QFont font( const QWidget* = 0 );
580 static void setFont( const QFont &, bool informWidgets=FALSE, 573 static void setFont( const QFont &, bool informWidgets=FALSE,
581 + const char* className = 0 ) QT_WEAK_SYMBOL; 574 + const char* className = 0 ) QT_WEAK_SYMBOL;
582+private: 575+private:
583 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, 576 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
584 const char* className = 0 ); 577 const char* className = 0 );
585 +public: 578 +public:
586 static QFontMetrics fontMetrics(); 579 static QFontMetrics fontMetrics();
587 580
588 QWidget *mainWidget() const; 581 QWidget *mainWidget() const;
589@@ -207,7 +222,10 @@ 582@@ -207,7 +222,10 @@
590 void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); 583 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
591 #ifndef QT_NO_QWS_MANAGER 584 #ifndef QT_NO_QWS_MANAGER
592 static QWSDecoration &qwsDecoration(); 585 static QWSDecoration &qwsDecoration();
593- static void qwsSetDecoration( QWSDecoration *); 586- static void qwsSetDecoration( QWSDecoration *);
594+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; 587+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
595+private: 588+private:
596+ static void qwsSetDecoration_NonWeak( QWSDecoration *); 589+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
597+public: 590+public:
598 #endif 591 #endif
599 #endif 592 #endif
600 593
601diff -ur qt-2.3.7-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp 594diff -ur qt-2.3.7-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp
602 --- qt-2.3.7-old/src/kernel/qapplication_qws.cpp2004-07-23 15:22:56.000000000 +0200 595 --- qt-2.3.7-old/src/kernel/qapplication_qws.cpp2004-07-23 15:22:56.000000000 +0200
603 +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-23 15:25:42.000000000 +0200 596 +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-23 15:25:42.000000000 +0200
604@@ -2804,6 +2804,11 @@ 597@@ -2804,6 +2804,11 @@
605 */ 598 */
606 void QApplication::qwsSetDecoration( QWSDecoration *d ) 599 void QApplication::qwsSetDecoration( QWSDecoration *d )
607 { 600 {
608 +qwsSetDecoration_NonWeak ( d ); 601 +qwsSetDecoration_NonWeak ( d );
609+} 602+}
610+ 603+
611+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) 604+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
612+{ 605+{
613 if ( d ) { 606 if ( d ) {
614 delete qws_decoration; 607 delete qws_decoration;
615 qws_decoration = d; 608 qws_decoration = d;
616diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp 609diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp
617 --- qt-2.3.7-old/src/kernel/qfontdatabase.cpp2004-07-23 15:22:56.000000000 +0200 610 --- qt-2.3.7-old/src/kernel/qfontdatabase.cpp2004-07-23 15:22:56.000000000 +0200
618 +++ qt-2.3.7/src/kernel/qfontdatabase.cpp2004-07-23 15:25:42.000000000 +0200 611 +++ qt-2.3.7/src/kernel/qfontdatabase.cpp2004-07-23 15:25:42.000000000 +0200
619@@ -35,6 +35,8 @@ 612@@ -35,6 +35,8 @@
620 ** 613 **
621 **********************************************************************/ 614 **********************************************************************/
622 615
623+#define QT_WEAK_SYMBOL __attribute__(( weak )) 616+#define QT_WEAK_SYMBOL __attribute__(( weak ))
624+ 617+
625 #include "qfontdatabase.h" 618 #include "qfontdatabase.h"
626 619
627 #ifndef QT_NO_FONTDATABASE 620 #ifndef QT_NO_FONTDATABASE
628@@ -2424,6 +2426,13 @@ 621@@ -2424,6 +2426,13 @@
629 const QString &style, 622 const QString &style,
630 const QString &charSet ) 623 const QString &charSet )
631 { 624 {
632 +return pointSizes_NonWeak ( family, style, charSet ); 625 +return pointSizes_NonWeak ( family, style, charSet );
633+} 626+}
634+ 627+
635+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, 628+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
636+ const QString &style, 629+ const QString &style,
637+ const QString &charSet ) 630+ const QString &charSet )
638+{ 631+{
639 QString cs( charSet ); 632 QString cs( charSet );
640 if ( charSet.isEmpty() ) { 633 if ( charSet.isEmpty() ) {
641 QStringList lst = charSets( family ); 634 QStringList lst = charSets( family );
642diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h 635diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h
643 --- qt-2.3.7-old/src/kernel/qfontdatabase.h2004-07-23 15:22:56.000000000 +0200 636 --- qt-2.3.7-old/src/kernel/qfontdatabase.h2004-07-23 15:22:56.000000000 +0200
644 +++ qt-2.3.7/src/kernel/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200 637 +++ qt-2.3.7/src/kernel/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200
645@@ -59,6 +59,10 @@ 638@@ -59,6 +59,10 @@
646 class QDiskFont; 639 class QDiskFont;
647 #endif 640 #endif
648 641
649+#if !defined( QT_WEAK_SYMBOL ) 642+#if !defined( QT_WEAK_SYMBOL )
650+#define QT_WEAK_SYMBOL 643+#define QT_WEAK_SYMBOL
651+#endif 644+#endif
652+ 645+
653 class QFontDatabasePrivate; 646 class QFontDatabasePrivate;
654 647
655 class Q_EXPORT QFontDatabase 648 class Q_EXPORT QFontDatabase
656@@ -67,9 +71,16 @@ 649@@ -67,9 +71,16 @@
657 QFontDatabase(); 650 QFontDatabase();
658 651
659 QStringList families( bool onlyForLocale = TRUE ) const; 652 QStringList families( bool onlyForLocale = TRUE ) const;
660+ 653+
661+ 654+
662 QValueList<int> pointSizes( const QString &family, 655 QValueList<int> pointSizes( const QString &family,
663 const QString &style = QString::null, 656 const QString &style = QString::null,
664 - const QString &charSet = QString::null ); 657 - const QString &charSet = QString::null );
665 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; 658 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
666+private: 659+private:
667+ QValueList<int> pointSizes_NonWeak( const QString &family, 660+ QValueList<int> pointSizes_NonWeak( const QString &family,
668 + const QString &style, 661 + const QString &style,
669 + const QString &charSet ); 662 + const QString &charSet );
670+public: 663+public:
671 QStringList styles( const QString &family, 664 QStringList styles( const QString &family,
672 const QString &charSet = QString::null ) const; 665 const QString &charSet = QString::null ) const;
673 QStringList charSets( const QString &familyName, 666 QStringList charSets( const QString &familyName,
674diff -ur qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp 667diff -ur qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp
675 --- qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp2004-07-23 15:22:56.000000000 +0200 668 --- qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp2004-07-23 15:22:56.000000000 +0200
676 +++ qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp2004-07-23 15:42:01.000000000 +0200 669 +++ qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp2004-07-23 15:42:01.000000000 +0200
677@@ -671,11 +671,11 @@ 670@@ -671,11 +671,11 @@
678 inline int tx( int x, int y ) { 671 inline int tx( int x, int y ) {
679 switch ( qt_trans_screen->transformation() ) { 672 switch ( qt_trans_screen->transformation() ) {
680 case QTransformedScreen::Rot90: 673 case QTransformedScreen::Rot90:
681 - return y - xoffs + yoffs; 674 - return y - xoffs + yoffs;
682 + return y - this->xoffs + this->yoffs; 675 + return y - this->xoffs + this->yoffs;
683 case QTransformedScreen::Rot180: 676 case QTransformedScreen::Rot180:
684 - return (width - x - 1) - xoffs - xoffs; 677 - return (width - x - 1) - xoffs - xoffs;
685 + return (this->width - x - 1) - this->xoffs - this->xoffs; 678 + return (this->width - x - 1) - this->xoffs - this->xoffs;
686 case QTransformedScreen::Rot270: 679 case QTransformedScreen::Rot270:
687 - return (height - y - 1) - xoffs - yoffs; 680 - return (height - y - 1) - xoffs - yoffs;
688 + return (this->height - y - 1) - this->xoffs - this->yoffs; 681 + return (this->height - y - 1) - this->xoffs - this->yoffs;
689 default: 682 default:
690 return x; 683 return x;
691 } 684 }
692@@ -683,11 +683,11 @@ 685@@ -683,11 +683,11 @@
693 inline int ty( int x, int y ) { 686 inline int ty( int x, int y ) {
694 switch ( qt_trans_screen->transformation() ) { 687 switch ( qt_trans_screen->transformation() ) {
695 case QTransformedScreen::Rot90: 688 case QTransformedScreen::Rot90:
696 - return (width - x - 1) - yoffs - xoffs; 689 - return (width - x - 1) - yoffs - xoffs;
697 + return (this->width - x - 1) - this->yoffs - this->xoffs; 690 + return (this->width - x - 1) - this->yoffs - this->xoffs;
698 case QTransformedScreen::Rot180: 691 case QTransformedScreen::Rot180:
699 - return (height - y - 1) - yoffs - yoffs; 692 - return (height - y - 1) - yoffs - yoffs;
700 + return (this->height - y - 1) - this->yoffs - this->yoffs; 693 + return (this->height - y - 1) - this->yoffs - this->yoffs;
701 case QTransformedScreen::Rot270: 694 case QTransformedScreen::Rot270:
702 - return x - yoffs + xoffs; 695 - return x - yoffs + xoffs;
703 + return x - this->yoffs + this->xoffs; 696 + return x - this->yoffs + this->xoffs;
704 default: 697 default:
705 return y; 698 return y;
706 } 699 }
707@@ -715,23 +715,23 @@ 700@@ -715,23 +715,23 @@
708 template <const int depth, const int type> 701 template <const int depth, const int type>
709 void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) 702 void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y)
710 { 703 {
711- if ( srcbits == buffer ) { 704- if ( srcbits == buffer ) {
712+ if ( this->srcbits == this->buffer ) { 705+ if ( this->srcbits == this->buffer ) {
713 switch ( qt_trans_screen->transformation() ) { 706 switch ( qt_trans_screen->transformation() ) {
714 case QTransformedScreen::Rot90: 707 case QTransformedScreen::Rot90:
715 - srcwidgetoffs = QPoint( y, width - x - srcwidth ); 708 - srcwidgetoffs = QPoint( y, width - x - srcwidth );
716 + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); 709 + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth );
717 break; 710 break;
718 case QTransformedScreen::Rot180: 711 case QTransformedScreen::Rot180:
719 - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); 712 - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight );
720 + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); 713 + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight );
721 break; 714 break;
722 case QTransformedScreen::Rot270: 715 case QTransformedScreen::Rot270:
723 - srcwidgetoffs = QPoint( height - y - srcheight, x ); 716 - srcwidgetoffs = QPoint( height - y - srcheight, x );
724 + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); 717 + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x );
725 break; 718 break;
diff --git a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch b/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch
index 63e45ec..81064e1 100644
--- a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch
+++ b/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch
@@ -1,149 +1,142 @@
1Speed up patches backported from 1Speed up patches backported from
2 2
3http://robotics.dei.unipd.it/~koral/KDE/kflicker.html 3http://robotics.dei.unipd.it/~koral/KDE/kflicker.html
4 4
5and 5and
6 6
7http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) 7http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread)
8 8
9 9
10 10
11 11
12diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp 12diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp
13 --- qt-2.3.7_old/src/iconview/qiconview.cpp2004-06-13 22:29:56.000000000 +0200 13 --- qt-2.3.7_old/src/iconview/qiconview.cpp2004-06-13 22:29:56.000000000 +0200
14 +++ qt-2.3.7/src/iconview/qiconview.cpp2004-06-13 22:33:32.000000000 +0200 14 +++ qt-2.3.7/src/iconview/qiconview.cpp2004-06-13 22:33:32.000000000 +0200
15@@ -1,5 +1,5 @@
16 /****************************************************************************
17-** $Id$
18+** $Id$
19 **
20 ** Implementation of QIconView widget class
21 **
22@@ -220,6 +220,7 @@ 15@@ -220,6 +220,7 @@
23 QIconView::SelectionMode selectionMode; 16 QIconView::SelectionMode selectionMode;
24 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; 17 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
25 QRect *rubber; 18 QRect *rubber;
26+ QPixmap *backBuffer; 19+ QPixmap *backBuffer;
27 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, 20 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
28 *fullRedrawTimer; 21 *fullRedrawTimer;
29 int rastX, rastY, spacing; 22 int rastX, rastY, spacing;
30@@ -2263,6 +2264,7 @@ 23@@ -2263,6 +2264,7 @@
31 d->currentItem = 0; 24 d->currentItem = 0;
32 d->highlightedItem = 0; 25 d->highlightedItem = 0;
33 d->rubber = 0; 26 d->rubber = 0;
34+ d->backBuffer = 0; 27+ d->backBuffer = 0;
35 d->scrollTimer = 0; 28 d->scrollTimer = 0;
36 d->startDragItem = 0; 29 d->startDragItem = 0;
37 d->tmpCurrentItem = 0; 30 d->tmpCurrentItem = 0;
38@@ -2411,6 +2413,8 @@ 31@@ -2411,6 +2413,8 @@
39 delete item; 32 delete item;
40 item = tmp; 33 item = tmp;
41 } 34 }
42+ delete d->backBuffer; 35+ delete d->backBuffer;
43+ d->backBuffer = 0; 36+ d->backBuffer = 0;
44 delete d->fm; 37 delete d->fm;
45 d->fm = 0; 38 d->fm = 0;
46 #ifndef QT_NO_TOOLTIP 39 #ifndef QT_NO_TOOLTIP
47@@ -2877,6 +2881,48 @@ 40@@ -2877,6 +2881,48 @@
48 } 41 }
49 42
50 /*! 43 /*!
51+ This function grabs all paintevents that otherwise would have been 44+ This function grabs all paintevents that otherwise would have been
52+ processed by the QScrollView::viewportPaintEvent(). Here we use a 45+ processed by the QScrollView::viewportPaintEvent(). Here we use a
53+ doublebuffer to reduce 'on-paint' flickering on QIconView 46+ doublebuffer to reduce 'on-paint' flickering on QIconView
54+ (and of course its childs). 47+ (and of course its childs).
55+ 48+
56+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() 49+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
57+*/ 50+*/
58+ 51+
59+void QIconView::bufferedPaintEvent( QPaintEvent* pe ) 52+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
60+{ 53+{
61+ QWidget* vp = viewport(); 54+ QWidget* vp = viewport();
62+ QRect r = pe->rect() & vp->rect(); 55+ QRect r = pe->rect() & vp->rect();
63+ int ex = r.x() + contentsX(); 56+ int ex = r.x() + contentsX();
64+ int ey = r.y() + contentsY(); 57+ int ey = r.y() + contentsY();
65+ int ew = r.width(); 58+ int ew = r.width();
66+ int eh = r.height(); 59+ int eh = r.height();
67+ 60+
68+ if ( !d->backBuffer ) 61+ if ( !d->backBuffer )
69 +d->backBuffer = new QPixmap(vp->size()); 62 +d->backBuffer = new QPixmap(vp->size());
70+ if ( d->backBuffer->size() != vp->size() ) { 63+ if ( d->backBuffer->size() != vp->size() ) {
71 +//Resize function (with hysteesis). Uses a good compromise between memory 64 +//Resize function (with hysteesis). Uses a good compromise between memory
72 +//consumption and speed (number) of resizes. 65 +//consumption and speed (number) of resizes.
73+ float newWidth = (float)vp->width(); 66+ float newWidth = (float)vp->width();
74 +float newHeight = (float)vp->height(); 67 +float newHeight = (float)vp->height();
75 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) 68 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
76 +{ 69 +{
77 + newWidth *= 1.1892; 70 + newWidth *= 1.1892;
78 + newHeight *= 1.1892; 71 + newHeight *= 1.1892;
79 + d->backBuffer->resize( (int)newWidth, (int)newHeight ); 72 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
80 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) 73 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
81 + d->backBuffer->resize( (int)newWidth, (int)newHeight ); 74 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
82+ } 75+ }
83+ 76+
84+ QPainter p; 77+ QPainter p;
85+ p.begin(d->backBuffer, vp); 78+ p.begin(d->backBuffer, vp);
86+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); 79+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
87+ p.end(); 80+ p.end();
88+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); 81+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
89+} 82+}
90+ 83+
91+/*! 84+/*!
92+ 85+
93 \reimp 86 \reimp
94 */ 87 */
95 88
96@@ -4855,7 +4901,7 @@ 89@@ -4855,7 +4901,7 @@
97 if ( !d->rubber ) 90 if ( !d->rubber )
98 drawDragShapes( d->oldDragPos ); 91 drawDragShapes( d->oldDragPos );
99 } 92 }
100 - viewportPaintEvent( (QPaintEvent*)e ); 93 - viewportPaintEvent( (QPaintEvent*)e );
101+ bufferedPaintEvent ((QPaintEvent*)e ); 94+ bufferedPaintEvent ((QPaintEvent*)e );
102 if ( d->dragging ) { 95 if ( d->dragging ) {
103 if ( !d->rubber ) 96 if ( !d->rubber )
104 drawDragShapes( d->oldDragPos ); 97 drawDragShapes( d->oldDragPos );
105@@ -5286,11 +5332,19 @@ 98@@ -5286,11 +5332,19 @@
106 return; 99 return;
107 100
108 if ( item->d->container1 && d->firstContainer ) { 101 if ( item->d->container1 && d->firstContainer ) {
109 -item->d->container1->items.removeRef( item ); 102 -item->d->container1->items.removeRef( item );
110+ //Special-case checking of the last item, since this may be 103+ //Special-case checking of the last item, since this may be
111+ //called a few times for the same item. 104+ //called a few times for the same item.
112+ if (item->d->container1->items.last() == item) 105+ if (item->d->container1->items.last() == item)
113+ item->d->container1->items.removeLast(); 106+ item->d->container1->items.removeLast();
114+ else 107+ else
115+ item->d->container1->items.removeRef( item ); 108+ item->d->container1->items.removeRef( item );
116 } 109 }
117 item->d->container1 = 0; 110 item->d->container1 = 0;
118 if ( item->d->container2 && d->firstContainer ) { 111 if ( item->d->container2 && d->firstContainer ) {
119 -item->d->container2->items.removeRef( item ); 112 -item->d->container2->items.removeRef( item );
120+ if (item->d->container2->items.last() == item) 113+ if (item->d->container2->items.last() == item)
121+ item->d->container2->items.removeLast(); 114+ item->d->container2->items.removeLast();
122+ else 115+ else
123+ item->d->container2->items.removeRef( item ); 116+ item->d->container2->items.removeRef( item );
124 } 117 }
125 item->d->container2 = 0; 118 item->d->container2 = 0;
126 119
127diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h 120diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h
128 --- qt-2.3.7_old/src/iconview/qiconview.h2004-06-13 22:29:56.000000000 +0200 121 --- qt-2.3.7_old/src/iconview/qiconview.h2004-06-13 22:29:56.000000000 +0200
129 +++ qt-2.3.7/src/iconview/qiconview.h2004-06-13 22:33:32.000000000 +0200 122 +++ qt-2.3.7/src/iconview/qiconview.h2004-06-13 22:33:32.000000000 +0200
130@@ -444,6 +444,7 @@ 123@@ -444,6 +444,7 @@
131 virtual void contentsDropEvent( QDropEvent *e ); 124 virtual void contentsDropEvent( QDropEvent *e );
132 #endif 125 #endif
133 126
134+ void bufferedPaintEvent( QPaintEvent* ); 127+ void bufferedPaintEvent( QPaintEvent* );
135 virtual void resizeEvent( QResizeEvent* e ); 128 virtual void resizeEvent( QResizeEvent* e );
136 virtual void keyPressEvent( QKeyEvent *e ); 129 virtual void keyPressEvent( QKeyEvent *e );
137 virtual void focusInEvent( QFocusEvent *e ); 130 virtual void focusInEvent( QFocusEvent *e );
138 --- qt-2.3.7-old/src/widgets/qscrollview.cpp2004-07-23 15:22:56.000000000 +0200 131 --- qt-2.3.7-old/src/widgets/qscrollview.cpp2004-07-23 15:22:56.000000000 +0200
139 +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-07-23 19:23:10.000000000 +0200 132 +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-07-23 19:23:10.000000000 +0200
140@@ -1266,6 +1277,9 @@ 133@@ -1266,6 +1277,9 @@
141 case QEvent::LayoutHint: 134 case QEvent::LayoutHint:
142 d->autoResizeHint(this); 135 d->autoResizeHint(this);
143 break; 136 break;
144 +case QEvent::WindowActivate: 137 +case QEvent::WindowActivate:
145 +case QEvent::WindowDeactivate: 138 +case QEvent::WindowDeactivate:
146 + return TRUE; 139 + return TRUE;
147 default: 140 default:
148 break; 141 break;
149 } 142 }