author | ar <ar> | 2004-07-23 20:11:03 (UTC) |
---|---|---|
committer | ar <ar> | 2004-07-23 20:11:03 (UTC) |
commit | a807ba26df5f4fe7c50f6e0e1420d4b0d7c3add8 (patch) (unidiff) | |
tree | 36b7b7ab471b5dc43cb6b92f725d99541baff108 | |
parent | f9499e14b777050f0bdb3821ca8421dd4c7231fd (diff) | |
download | opie-a807ba26df5f4fe7c50f6e0e1420d4b0d7c3add8.zip opie-a807ba26df5f4fe7c50f6e0e1420d4b0d7c3add8.tar.gz opie-a807ba26df5f4fe7c50f6e0e1420d4b0d7c3add8.tar.bz2 |
- make patch patcheable :)
-rw-r--r-- | qt/qt-2.3.7.patch/qte237-all.patch | 7 | ||||
-rw-r--r-- | qt/qt-2.3.7.patch/qte237-iconviewspeed.patch | 7 |
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 | |||
@@ -143,391 +143,384 @@ diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x8 | |||
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 | ||
154 | diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug | 154 | diff -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 | ||
166 | diff -ur qt-2.3.7-old/include/qapplication.h qt-2.3.7/include/qapplication.h | 166 | diff -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 | ||
224 | diff -ur qt-2.3.7-old/include/qcstring.h qt-2.3.7/include/qcstring.h | 224 | diff -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 |
236 | diff -ur qt-2.3.7-old/include/qfontdatabase.h qt-2.3.7/include/qfontdatabase.h | 236 | diff -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, |
268 | diff -ur qt-2.3.7-old/include/qglobal.h qt-2.3.7/include/qglobal.h | 268 | diff -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_ |
288 | diff -ur qt-2.3.7-old/include/qiconview.h qt-2.3.7/include/qiconview.h | 288 | diff -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 ); |
299 | diff -ur qt-2.3.7-old/include/qsortedlist.h qt-2.3.7/include/qsortedlist.h | 299 | diff -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 | ||
311 | diff -ur qt-2.3.7-old/include/qstring.h qt-2.3.7/include/qstring.h | 311 | diff -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 | ||
332 | diff -ur qt-2.3.7-old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp | 332 | diff -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 | ||
447 | diff -ur qt-2.3.7-old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h | 440 | diff -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 ); |
458 | diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp | 451 | diff -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 | { |
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 @@ | |||
1 | Speed up patches backported from | 1 | Speed up patches backported from |
2 | 2 | ||
3 | http://robotics.dei.unipd.it/~koral/KDE/kflicker.html | 3 | http://robotics.dei.unipd.it/~koral/KDE/kflicker.html |
4 | 4 | ||
5 | and | 5 | and |
6 | 6 | ||
7 | http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) | 7 | http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) |
8 | 8 | ||
9 | 9 | ||
10 | 10 | ||
11 | 11 | ||
12 | diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp | 12 | diff -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 | ||
127 | diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h | 120 | diff -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 | } |