author | mickeyl <mickeyl> | 2003-09-24 13:34:59 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-09-24 13:34:59 (UTC) |
commit | 5a81b7fa962aa83a10a01706135250f3aba8e315 (patch) (unidiff) | |
tree | 8feada7c85b2e1a4f8431116ba5a5f7aa514560c /qt/qt-2.3.7.patch | |
parent | fb01f24bf78fa1383b8192b6626cd6c6eb426b66 (diff) | |
download | opie-5a81b7fa962aa83a10a01706135250f3aba8e315.zip opie-5a81b7fa962aa83a10a01706135250f3aba8e315.tar.gz opie-5a81b7fa962aa83a10a01706135250f3aba8e315.tar.bz2 |
here here
-rw-r--r-- | qt/qt-2.3.7.patch/qte237-all.patch | 410 |
1 files changed, 410 insertions, 0 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-all.patch b/qt/qt-2.3.7.patch/qte237-all.patch new file mode 100644 index 0000000..233996a --- a/dev/null +++ b/qt/qt-2.3.7.patch/qte237-all.patch | |||
@@ -0,0 +1,410 @@ | |||
1 | diff -ru qt-2.3.5_fresh/include/qapplication.h qt-2.3.5/include/qapplication.h | ||
2 | --- qt-2.3.5_fresh/include/qapplication.h2003-05-13 15:56:10.000000000 +0200 | ||
3 | +++ qt-2.3.5/include/qapplication.h2003-05-13 15:58:18.000000000 +0200 | ||
4 | @@ -61,6 +61,10 @@ | ||
5 | class QSemaphore; | ||
6 | #endif | ||
7 | |||
8 | +#if !defined( QT_WEAK_SYMBOL ) | ||
9 | +#define QT_WEAK_SYMBOL | ||
10 | +#endif | ||
11 | + | ||
12 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
13 | #define QNonBaseApplication QApplication | ||
14 | |||
15 | @@ -85,7 +89,10 @@ | ||
16 | |||
17 | #ifndef QT_NO_STYLE | ||
18 | static QStyle &style(); | ||
19 | - static void setStyle( QStyle* ); | ||
20 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
21 | +private: | ||
22 | +static void setStyle_NonWeak( QStyle* ); | ||
23 | +public: | ||
24 | #endif | ||
25 | #if 1/* OBSOLETE */ | ||
26 | enum ColorMode { NormalColors, CustomColors }; | ||
27 | @@ -106,11 +113,19 @@ | ||
28 | #ifndef QT_NO_PALETTE | ||
29 | static QPalette palette( const QWidget* = 0 ); | ||
30 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
31 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
32 | +private: | ||
33 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
34 | const char* className = 0 ); | ||
35 | +public: | ||
36 | #endif | ||
37 | static QFont font( const QWidget* = 0 ); | ||
38 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
39 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
40 | +private: | ||
41 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
42 | const char* className = 0 ); | ||
43 | +public: | ||
44 | static QFontMetrics fontMetrics(); | ||
45 | |||
46 | QWidget *mainWidget() const; | ||
47 | @@ -207,7 +222,10 @@ | ||
48 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
49 | #ifndef QT_NO_QWS_MANAGER | ||
50 | static QWSDecoration &qwsDecoration(); | ||
51 | - static void qwsSetDecoration( QWSDecoration *); | ||
52 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
53 | +private: | ||
54 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
55 | +public: | ||
56 | #endif | ||
57 | #endif | ||
58 | |||
59 | diff -ru qt-2.3.5_fresh/include/qfontdatabase.h qt-2.3.5/include/qfontdatabase.h | ||
60 | --- qt-2.3.5_fresh/include/qfontdatabase.h2003-05-13 15:56:11.000000000 +0200 | ||
61 | +++ qt-2.3.5/include/qfontdatabase.h2003-05-13 15:58:18.000000000 +0200 | ||
62 | @@ -59,6 +59,10 @@ | ||
63 | class QDiskFont; | ||
64 | #endif | ||
65 | |||
66 | +#if !defined( QT_WEAK_SYMBOL ) | ||
67 | +#define QT_WEAK_SYMBOL | ||
68 | +#endif | ||
69 | + | ||
70 | class QFontDatabasePrivate; | ||
71 | |||
72 | class Q_EXPORT QFontDatabase | ||
73 | @@ -67,9 +71,16 @@ | ||
74 | QFontDatabase(); | ||
75 | |||
76 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
77 | + | ||
78 | + | ||
79 | QValueList<int> pointSizes( const QString &family, | ||
80 | const QString &style = QString::null, | ||
81 | - const QString &charSet = QString::null ); | ||
82 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
83 | +private: | ||
84 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
85 | + const QString &style, | ||
86 | + const QString &charSet ); | ||
87 | +public: | ||
88 | QStringList styles( const QString &family, | ||
89 | const QString &charSet = QString::null ) const; | ||
90 | QStringList charSets( const QString &familyName, | ||
91 | diff -ru qt-2.3.5_fresh/src/kernel/qapplication.cpp qt-2.3.5/src/kernel/qapplication.cpp | ||
92 | --- qt-2.3.5_fresh/src/kernel/qapplication.cpp2003-05-13 15:56:10.000000000 +0200 | ||
93 | +++ qt-2.3.5/src/kernel/qapplication.cpp2003-05-13 15:58:19.000000000 +0200 | ||
94 | @@ -35,6 +35,8 @@ | ||
95 | ** | ||
96 | **********************************************************************/ | ||
97 | |||
98 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
99 | + | ||
100 | #include "qobjectlist.h" | ||
101 | #include "qobjectdict.h" | ||
102 | #include "qapplication.h" | ||
103 | @@ -933,11 +935,16 @@ | ||
104 | #ifndef QT_NO_STYLE | ||
105 | void QApplication::setStyle( QStyle *style ) | ||
106 | { | ||
107 | +setStyle_NonWeak ( style ); | ||
108 | +} | ||
109 | + | ||
110 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
111 | +{ | ||
112 | QStyle* old = app_style; | ||
113 | - app_style = style; | ||
114 | |||
115 | if ( startingUp() ) { | ||
116 | delete old; | ||
117 | +app_style = style; | ||
118 | return; | ||
119 | } | ||
120 | |||
121 | @@ -958,6 +965,8 @@ | ||
122 | old->unPolish( qApp ); | ||
123 | } | ||
124 | |||
125 | + app_style = style; | ||
126 | + | ||
127 | // take care of possible palette requirements of certain gui | ||
128 | // styles. Do it before polishing the application since the style | ||
129 | // might call QApplication::setStyle() itself | ||
130 | @@ -1184,13 +1193,30 @@ | ||
131 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
132 | */ | ||
133 | |||
134 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
135 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
136 | + const char* className ) | ||
137 | +{ | ||
138 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
139 | +} | ||
140 | + | ||
141 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
142 | const char* className ) | ||
143 | { | ||
144 | QPalette pal = palette; | ||
145 | #ifndef QT_NO_STYLE | ||
146 | - if ( !startingUp() ) | ||
147 | + if ( !startingUp() ) { | ||
148 | qApp->style().polish( pal );// NB: non-const reference | ||
149 | +if ( className ) { | ||
150 | + // if we just polished a class specific palette (this normally | ||
151 | + // only called by qt_fix_tooltips - see below), we better re- | ||
152 | + // polish the global palette. Some styles like liquid can get | ||
153 | + // confused, because they can not detect if the polished palette | ||
154 | + // is the global one or only a class specific one. | ||
155 | + // (liquid uses this palette to calculate blending pixmaps) | ||
156 | + QPalette p = qApp-> palette ( ); | ||
157 | + qApp->style().polish ( p ); | ||
158 | +} | ||
159 | + } | ||
160 | #endif | ||
161 | bool all = FALSE; | ||
162 | if ( !className ) { | ||
163 | @@ -1275,6 +1301,12 @@ | ||
164 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
165 | const char* className ) | ||
166 | { | ||
167 | +setFont_NonWeak ( font, informWidgets, className ); | ||
168 | +} | ||
169 | + | ||
170 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
171 | + const char* className ) | ||
172 | +{ | ||
173 | bool all = FALSE; | ||
174 | if ( !className ) { | ||
175 | if ( !app_font ) { | ||
176 | Nur in qt-2.3.5/src/kernel: qapplication.cpp.orig. | ||
177 | diff -ru qt-2.3.5_fresh/src/kernel/qapplication.h qt-2.3.5/src/kernel/qapplication.h | ||
178 | --- qt-2.3.5_fresh/src/kernel/qapplication.h2003-05-13 15:56:10.000000000 +0200 | ||
179 | +++ qt-2.3.5/src/kernel/qapplication.h2003-05-13 15:58:18.000000000 +0200 | ||
180 | @@ -61,6 +61,10 @@ | ||
181 | class QSemaphore; | ||
182 | #endif | ||
183 | |||
184 | +#if !defined( QT_WEAK_SYMBOL ) | ||
185 | +#define QT_WEAK_SYMBOL | ||
186 | +#endif | ||
187 | + | ||
188 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
189 | #define QNonBaseApplication QApplication | ||
190 | |||
191 | @@ -85,7 +89,10 @@ | ||
192 | |||
193 | #ifndef QT_NO_STYLE | ||
194 | static QStyle &style(); | ||
195 | - static void setStyle( QStyle* ); | ||
196 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
197 | +private: | ||
198 | +static void setStyle_NonWeak( QStyle* ); | ||
199 | +public: | ||
200 | #endif | ||
201 | #if 1/* OBSOLETE */ | ||
202 | enum ColorMode { NormalColors, CustomColors }; | ||
203 | @@ -106,11 +113,19 @@ | ||
204 | #ifndef QT_NO_PALETTE | ||
205 | static QPalette palette( const QWidget* = 0 ); | ||
206 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
207 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
208 | +private: | ||
209 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
210 | const char* className = 0 ); | ||
211 | +public: | ||
212 | #endif | ||
213 | static QFont font( const QWidget* = 0 ); | ||
214 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
215 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
216 | +private: | ||
217 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
218 | const char* className = 0 ); | ||
219 | +public: | ||
220 | static QFontMetrics fontMetrics(); | ||
221 | |||
222 | QWidget *mainWidget() const; | ||
223 | @@ -207,7 +222,10 @@ | ||
224 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
225 | #ifndef QT_NO_QWS_MANAGER | ||
226 | static QWSDecoration &qwsDecoration(); | ||
227 | - static void qwsSetDecoration( QWSDecoration *); | ||
228 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
229 | +private: | ||
230 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
231 | +public: | ||
232 | #endif | ||
233 | #endif | ||
234 | |||
235 | diff -ru qt-2.3.5_fresh/src/kernel/qapplication_qws.cpp qt-2.3.5/src/kernel/qapplication_qws.cpp | ||
236 | --- qt-2.3.5_fresh/src/kernel/qapplication_qws.cpp2003-05-13 15:56:10.000000000 +0200 | ||
237 | +++ qt-2.3.5/src/kernel/qapplication_qws.cpp2003-05-13 15:58:18.000000000 +0200 | ||
238 | @@ -2737,6 +2737,11 @@ | ||
239 | */ | ||
240 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
241 | { | ||
242 | +qwsSetDecoration_NonWeak ( d ); | ||
243 | +} | ||
244 | + | ||
245 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
246 | +{ | ||
247 | if ( d ) { | ||
248 | delete qws_decoration; | ||
249 | qws_decoration = d; | ||
250 | Nur in qt-2.3.5/src/kernel: qapplication_qws.cpp.orig. | ||
251 | diff -ru qt-2.3.5_fresh/src/kernel/qfontdatabase.cpp qt-2.3.5/src/kernel/qfontdatabase.cpp | ||
252 | --- qt-2.3.5_fresh/src/kernel/qfontdatabase.cpp2003-05-13 15:56:11.000000000 +0200 | ||
253 | +++ qt-2.3.5/src/kernel/qfontdatabase.cpp2003-05-13 15:58:18.000000000 +0200 | ||
254 | @@ -35,6 +35,8 @@ | ||
255 | ** | ||
256 | **********************************************************************/ | ||
257 | |||
258 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
259 | + | ||
260 | #include "qfontdatabase.h" | ||
261 | |||
262 | #ifndef QT_NO_FONTDATABASE | ||
263 | @@ -2424,6 +2426,13 @@ | ||
264 | const QString &style, | ||
265 | const QString &charSet ) | ||
266 | { | ||
267 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
268 | +} | ||
269 | + | ||
270 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
271 | + const QString &style, | ||
272 | + const QString &charSet ) | ||
273 | +{ | ||
274 | QString cs( charSet ); | ||
275 | if ( charSet.isEmpty() ) { | ||
276 | QStringList lst = charSets( family ); | ||
277 | diff -ru qt-2.3.5_fresh/src/kernel/qfontdatabase.h qt-2.3.5/src/kernel/qfontdatabase.h | ||
278 | --- qt-2.3.5_fresh/src/kernel/qfontdatabase.h2003-05-13 15:56:11.000000000 +0200 | ||
279 | +++ qt-2.3.5/src/kernel/qfontdatabase.h2003-05-13 15:58:18.000000000 +0200 | ||
280 | @@ -59,6 +59,10 @@ | ||
281 | class QDiskFont; | ||
282 | #endif | ||
283 | |||
284 | +#if !defined( QT_WEAK_SYMBOL ) | ||
285 | +#define QT_WEAK_SYMBOL | ||
286 | +#endif | ||
287 | + | ||
288 | class QFontDatabasePrivate; | ||
289 | |||
290 | class Q_EXPORT QFontDatabase | ||
291 | @@ -67,9 +71,16 @@ | ||
292 | QFontDatabase(); | ||
293 | |||
294 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
295 | + | ||
296 | + | ||
297 | QValueList<int> pointSizes( const QString &family, | ||
298 | const QString &style = QString::null, | ||
299 | - const QString &charSet = QString::null ); | ||
300 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
301 | +private: | ||
302 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
303 | + const QString &style, | ||
304 | + const QString &charSet ); | ||
305 | +public: | ||
306 | QStringList styles( const QString &family, | ||
307 | const QString &charSet = QString::null ) const; | ||
308 | QStringList charSets( const QString &familyName, | ||
309 | diff -ru qt-2.3.5_fresh/src/kernel/qgfxraster_qws.cpp qt-2.3.5/src/kernel/qgfxraster_qws.cpp | ||
310 | --- qt-2.3.5_fresh/src/kernel/qgfxraster_qws.cpp2003-05-13 15:56:11.000000000 +0200 | ||
311 | +++ qt-2.3.5/src/kernel/qgfxraster_qws.cpp2003-05-13 15:58:18.000000000 +0200 | ||
312 | @@ -4205,7 +4205,7 @@ | ||
313 | setAlphaType(IgnoreAlpha); | ||
314 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
315 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
316 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
317 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
318 | // ### fix for 8bpp | ||
319 | // This seems to be reliable now, at least for 16bpp | ||
320 | |||
321 | Nur in qt-2.3.5/src/kernel: qgfxraster_qws.cpp.orig. | ||
322 | diff -ru qt-2.3.5_fresh/src/kernel/qwindowsystem_qws.cpp qt-2.3.5/src/kernel/qwindowsystem_qws.cpp | ||
323 | --- qt-2.3.5_fresh/src/kernel/qwindowsystem_qws.cpp2003-05-13 15:56:11.000000000 +0200 | ||
324 | +++ qt-2.3.5/src/kernel/qwindowsystem_qws.cpp2003-05-13 15:58:19.000000000 +0200 | ||
325 | @@ -843,6 +843,18 @@ | ||
326 | { | ||
327 | } | ||
328 | |||
329 | +static void catchSegvSignal( int ) | ||
330 | +{ | ||
331 | +#ifndef QT_NO_QWS_KEYBOARD | ||
332 | + if ( qwsServer ) | ||
333 | +qwsServer->closeKeyboard(); | ||
334 | +#endif | ||
335 | + QWSServer::closedown(); | ||
336 | + fprintf(stderr, "Segmentation fault.\n"); | ||
337 | + exit(1); | ||
338 | +} | ||
339 | + | ||
340 | + | ||
341 | /*! | ||
342 | \class QWSServer qwindowsystem_qws.h | ||
343 | \brief Server-specific functionality in Qt/Embedded | ||
344 | @@ -912,6 +924,7 @@ | ||
345 | } | ||
346 | |||
347 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
348 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
349 | #endif | ||
350 | focusw = 0; | ||
351 | mouseGrabber = 0; | ||
352 | diff -ru qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp qt-2.3.5/src/widgets/qcommonstyle.cpp | ||
353 | --- qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp2003-05-13 15:56:12.000000000 +0200 | ||
354 | +++ qt-2.3.5/src/widgets/qcommonstyle.cpp2003-05-13 15:58:19.000000000 +0200 | ||
355 | @@ -566,7 +566,7 @@ | ||
356 | bool enabled, bool active ) | ||
357 | { | ||
358 | #ifndef QT_NO_MENUBAR | ||
359 | -#ifndef QT_NO_STYLE_SGI | ||
360 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
361 | if (draw_menu_bar_impl != 0) { | ||
362 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
363 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
364 | Nur in qt-2.3.5/src/widgets: qcommonstyle.cpp.orig. | ||
365 | diff -ru qt-2.3.5_fresh/src/widgets/qlistview.cpp qt-2.3.5/src/widgets/qlistview.cpp | ||
366 | --- qt-2.3.5_fresh/src/widgets/qlistview.cpp2003-05-13 15:56:12.000000000 +0200 | ||
367 | +++ qt-2.3.5/src/widgets/qlistview.cpp2003-05-13 15:58:18.000000000 +0200 | ||
368 | @@ -4968,9 +4968,9 @@ | ||
369 | l = l->childItem ? l->childItem : l->siblingItem; | ||
370 | |||
371 | if ( l && l->height() ) | ||
372 | -s.setHeight( s.height() + 10 * l->height() ); | ||
373 | - else | ||
374 | -s.setHeight( s.height() + 140 ); | ||
375 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
376 | + else // ^v much too big for handhelds | ||
377 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
378 | |||
379 | if ( s.width() > s.height() * 3 ) | ||
380 | s.setHeight( s.width() / 3 ); | ||
381 | diff -ru qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp qt-2.3.5/src/widgets/qtoolbutton.cpp | ||
382 | --- qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp2003-05-13 15:56:12.000000000 +0200 | ||
383 | +++ qt-2.3.5/src/widgets/qtoolbutton.cpp2003-05-13 15:58:18.000000000 +0200 | ||
384 | @@ -230,7 +230,7 @@ | ||
385 | else | ||
386 | QToolTip::add( this, textLabel ); | ||
387 | } | ||
388 | -#endif | ||
389 | +#endif | ||
390 | } | ||
391 | |||
392 | |||
393 | @@ -324,12 +324,12 @@ | ||
394 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
395 | w = pm.width(); | ||
396 | h = pm.height(); | ||
397 | -if ( w < 32 ) | ||
398 | - w = 32; | ||
399 | -if ( h < 32 ) | ||
400 | - h = 32; | ||
401 | +if ( w < 24 ) | ||
402 | + w = 24; | ||
403 | +if ( h < 24 ) | ||
404 | + h = 24; | ||
405 | } else { | ||
406 | -w = h = 16; | ||
407 | +w = h = 14; | ||
408 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
409 | w = pm.width(); | ||
410 | h = pm.height(); | ||