-rw-r--r-- | qt/qt-2.3.8.patch/qte238-all.patch | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/qt/qt-2.3.8.patch/qte238-all.patch b/qt/qt-2.3.8.patch/qte238-all.patch new file mode 100644 index 0000000..931d3d8 --- a/dev/null +++ b/qt/qt-2.3.8.patch/qte238-all.patch | |||
@@ -0,0 +1,322 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.8-snapshot-20040706/src/kernel/qapplication.cpp~opie2004-07-06 01:07:38.000000000 +0200 | ||
7 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qapplication.cpp2004-07-06 23:53:12.000000000 +0200 | ||
8 | @@ -35,6 +35,8 @@ | ||
9 | ** | ||
10 | **********************************************************************/ | ||
11 | |||
12 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
13 | + | ||
14 | #include "qobjectlist.h" | ||
15 | #include "qobjectdict.h" | ||
16 | #include "qapplication.h" | ||
17 | @@ -936,11 +938,16 @@ | ||
18 | #ifndef QT_NO_STYLE | ||
19 | void QApplication::setStyle( QStyle *style ) | ||
20 | { | ||
21 | +setStyle_NonWeak ( style ); | ||
22 | +} | ||
23 | + | ||
24 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
25 | +{ | ||
26 | QStyle* old = app_style; | ||
27 | - app_style = style; | ||
28 | |||
29 | if ( startingUp() ) { | ||
30 | delete old; | ||
31 | +app_style = style; | ||
32 | return; | ||
33 | } | ||
34 | |||
35 | @@ -961,6 +968,8 @@ | ||
36 | old->unPolish( qApp ); | ||
37 | } | ||
38 | |||
39 | + app_style = style; | ||
40 | + | ||
41 | // take care of possible palette requirements of certain gui | ||
42 | // styles. Do it before polishing the application since the style | ||
43 | // might call QApplication::setStyle() itself | ||
44 | @@ -1187,13 +1196,30 @@ | ||
45 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
46 | */ | ||
47 | |||
48 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
49 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
50 | + const char* className ) | ||
51 | +{ | ||
52 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
53 | +} | ||
54 | + | ||
55 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
56 | const char* className ) | ||
57 | { | ||
58 | QPalette pal = palette; | ||
59 | #ifndef QT_NO_STYLE | ||
60 | - if ( !startingUp() ) | ||
61 | + if ( !startingUp() ) { | ||
62 | qApp->style().polish( pal );// NB: non-const reference | ||
63 | +if ( className ) { | ||
64 | + // if we just polished a class specific palette (this normally | ||
65 | + // only called by qt_fix_tooltips - see below), we better re- | ||
66 | + // polish the global palette. Some styles like liquid can get | ||
67 | + // confused, because they can not detect if the polished palette | ||
68 | + // is the global one or only a class specific one. | ||
69 | + // (liquid uses this palette to calculate blending pixmaps) | ||
70 | + QPalette p = qApp-> palette ( ); | ||
71 | + qApp->style().polish ( p ); | ||
72 | +} | ||
73 | + } | ||
74 | #endif | ||
75 | bool all = FALSE; | ||
76 | if ( !className ) { | ||
77 | @@ -1278,6 +1304,12 @@ | ||
78 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
79 | const char* className ) | ||
80 | { | ||
81 | +setFont_NonWeak ( font, informWidgets, className ); | ||
82 | +} | ||
83 | + | ||
84 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
85 | + const char* className ) | ||
86 | +{ | ||
87 | bool all = FALSE; | ||
88 | if ( !className ) { | ||
89 | if ( !app_font ) { | ||
90 | --- qt-2.3.8-snapshot-20040706/src/kernel/qapplication.h~opie2004-07-06 01:07:38.000000000 +0200 | ||
91 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qapplication.h2004-07-06 23:53:12.000000000 +0200 | ||
92 | @@ -61,6 +61,10 @@ | ||
93 | class QSemaphore; | ||
94 | #endif | ||
95 | |||
96 | +#if !defined( QT_WEAK_SYMBOL ) | ||
97 | +#define QT_WEAK_SYMBOL | ||
98 | +#endif | ||
99 | + | ||
100 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
101 | #define QNonBaseApplication QApplication | ||
102 | |||
103 | @@ -85,7 +89,10 @@ | ||
104 | |||
105 | #ifndef QT_NO_STYLE | ||
106 | static QStyle &style(); | ||
107 | - static void setStyle( QStyle* ); | ||
108 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
109 | +private: | ||
110 | +static void setStyle_NonWeak( QStyle* ); | ||
111 | +public: | ||
112 | #endif | ||
113 | #if 1/* OBSOLETE */ | ||
114 | enum ColorMode { NormalColors, CustomColors }; | ||
115 | @@ -106,11 +113,19 @@ | ||
116 | #ifndef QT_NO_PALETTE | ||
117 | static QPalette palette( const QWidget* = 0 ); | ||
118 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
119 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
120 | +private: | ||
121 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
122 | const char* className = 0 ); | ||
123 | +public: | ||
124 | #endif | ||
125 | static QFont font( const QWidget* = 0 ); | ||
126 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
127 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
128 | +private: | ||
129 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
130 | const char* className = 0 ); | ||
131 | +public: | ||
132 | static QFontMetrics fontMetrics(); | ||
133 | |||
134 | QWidget *mainWidget() const; | ||
135 | @@ -207,7 +222,10 @@ | ||
136 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
137 | #ifndef QT_NO_QWS_MANAGER | ||
138 | static QWSDecoration &qwsDecoration(); | ||
139 | - static void qwsSetDecoration( QWSDecoration *); | ||
140 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
141 | +private: | ||
142 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
143 | +public: | ||
144 | #endif | ||
145 | #endif | ||
146 | |||
147 | --- qt-2.3.8-snapshot-20040706/src/kernel/qapplication_qws.cpp~opie2004-07-06 23:37:08.000000000 +0200 | ||
148 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qapplication_qws.cpp2004-07-06 23:53:12.000000000 +0200 | ||
149 | @@ -2989,6 +2989,11 @@ | ||
150 | */ | ||
151 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
152 | { | ||
153 | +qwsSetDecoration_NonWeak ( d ); | ||
154 | +} | ||
155 | + | ||
156 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
157 | +{ | ||
158 | if ( d ) { | ||
159 | delete qws_decoration; | ||
160 | qws_decoration = d; | ||
161 | --- qt-2.3.8-snapshot-20040706/src/kernel/qfontdatabase.cpp~opie2004-07-06 01:07:38.000000000 +0200 | ||
162 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qfontdatabase.cpp2004-07-06 23:53:12.000000000 +0200 | ||
163 | @@ -35,6 +35,8 @@ | ||
164 | ** | ||
165 | **********************************************************************/ | ||
166 | |||
167 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
168 | + | ||
169 | #include "qfontdatabase.h" | ||
170 | |||
171 | #ifndef QT_NO_FONTDATABASE | ||
172 | @@ -2424,6 +2426,13 @@ | ||
173 | const QString &style, | ||
174 | const QString &charSet ) | ||
175 | { | ||
176 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
177 | +} | ||
178 | + | ||
179 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
180 | + const QString &style, | ||
181 | + const QString &charSet ) | ||
182 | +{ | ||
183 | QString cs( charSet ); | ||
184 | if ( charSet.isEmpty() ) { | ||
185 | QStringList lst = charSets( family ); | ||
186 | --- qt-2.3.8-snapshot-20040706/src/kernel/qfontdatabase.h~opie2004-07-06 01:07:38.000000000 +0200 | ||
187 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qfontdatabase.h2004-07-06 23:53:12.000000000 +0200 | ||
188 | @@ -59,6 +59,10 @@ | ||
189 | class QDiskFont; | ||
190 | #endif | ||
191 | |||
192 | +#if !defined( QT_WEAK_SYMBOL ) | ||
193 | +#define QT_WEAK_SYMBOL | ||
194 | +#endif | ||
195 | + | ||
196 | class QFontDatabasePrivate; | ||
197 | |||
198 | class Q_EXPORT QFontDatabase | ||
199 | @@ -67,9 +71,16 @@ | ||
200 | QFontDatabase(); | ||
201 | |||
202 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
203 | + | ||
204 | + | ||
205 | QValueList<int> pointSizes( const QString &family, | ||
206 | const QString &style = QString::null, | ||
207 | - const QString &charSet = QString::null ); | ||
208 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
209 | +private: | ||
210 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
211 | + const QString &style, | ||
212 | + const QString &charSet ); | ||
213 | +public: | ||
214 | QStringList styles( const QString &family, | ||
215 | const QString &charSet = QString::null ) const; | ||
216 | QStringList charSets( const QString &familyName, | ||
217 | --- qt-2.3.8-snapshot-20040706/src/kernel/qgfxraster_qws.cpp~opie2004-07-06 01:07:38.000000000 +0200 | ||
218 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qgfxraster_qws.cpp2004-07-06 23:53:12.000000000 +0200 | ||
219 | @@ -4398,7 +4398,7 @@ | ||
220 | setAlphaType(IgnoreAlpha); | ||
221 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
222 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
223 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
224 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
225 | // ### fix for 8bpp | ||
226 | // This seems to be reliable now, at least for 16bpp | ||
227 | |||
228 | --- qt-2.3.8-snapshot-20040706/src/kernel/qkeyboard_qws.cpp~opie2004-07-06 23:37:08.000000000 +0200 | ||
229 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qkeyboard_qws.cpp2004-07-06 23:53:12.000000000 +0200 | ||
230 | @@ -314,7 +314,7 @@ | ||
231 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63 | ||
232 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64 | ||
233 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65 | ||
234 | - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66 | ||
235 | + { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 | ||
236 | { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 | ||
237 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68 | ||
238 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69 | ||
239 | --- qt-2.3.8-snapshot-20040706/src/kernel/qwindowsystem_qws.cpp~opie2004-07-06 23:37:08.000000000 +0200 | ||
240 | +++ qt-2.3.8-snapshot-20040706/src/kernel/qwindowsystem_qws.cpp2004-07-06 23:53:12.000000000 +0200 | ||
241 | @@ -1158,6 +1158,18 @@ | ||
242 | { | ||
243 | } | ||
244 | |||
245 | +static void catchSegvSignal( int ) | ||
246 | +{ | ||
247 | +#ifndef QT_NO_QWS_KEYBOARD | ||
248 | + if ( qwsServer ) | ||
249 | +qwsServer->closeKeyboard(); | ||
250 | +#endif | ||
251 | + QWSServer::closedown(); | ||
252 | + fprintf(stderr, "Segmentation fault.\n"); | ||
253 | + exit(1); | ||
254 | +} | ||
255 | + | ||
256 | + | ||
257 | /*! | ||
258 | \class QWSServer qwindowsystem_qws.h | ||
259 | \brief Server-specific functionality in Qt/Embedded | ||
260 | @@ -1250,6 +1262,7 @@ | ||
261 | } | ||
262 | |||
263 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
264 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
265 | #endif | ||
266 | focusw = 0; | ||
267 | mouseGrabber = 0; | ||
268 | --- qt-2.3.8-snapshot-20040706/src/widgets/qcommonstyle.cpp~opie2004-07-06 01:07:37.000000000 +0200 | ||
269 | +++ qt-2.3.8-snapshot-20040706/src/widgets/qcommonstyle.cpp2004-07-06 23:53:12.000000000 +0200 | ||
270 | @@ -566,7 +566,7 @@ | ||
271 | bool enabled, bool active ) | ||
272 | { | ||
273 | #ifndef QT_NO_MENUBAR | ||
274 | -#ifndef QT_NO_STYLE_SGI | ||
275 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
276 | if (draw_menu_bar_impl != 0) { | ||
277 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
278 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
279 | --- qt-2.3.8-snapshot-20040706/src/widgets/qlistview.cpp~opie2004-07-06 01:07:37.000000000 +0200 | ||
280 | +++ qt-2.3.8-snapshot-20040706/src/widgets/qlistview.cpp2004-07-06 23:53:12.000000000 +0200 | ||
281 | @@ -5057,9 +5057,9 @@ | ||
282 | l = l->childItem ? l->childItem : l->siblingItem; | ||
283 | |||
284 | if ( l && l->height() ) | ||
285 | -s.setHeight( s.height() + 10 * l->height() ); | ||
286 | - else | ||
287 | -s.setHeight( s.height() + 140 ); | ||
288 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
289 | + else // ^v much too big for handhelds | ||
290 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
291 | |||
292 | if ( s.width() > s.height() * 3 ) | ||
293 | s.setHeight( s.width() / 3 ); | ||
294 | --- qt-2.3.8-snapshot-20040706/src/widgets/qtoolbutton.cpp~opie2004-07-06 01:07:37.000000000 +0200 | ||
295 | +++ qt-2.3.8-snapshot-20040706/src/widgets/qtoolbutton.cpp2004-07-06 23:53:12.000000000 +0200 | ||
296 | @@ -232,7 +232,7 @@ | ||
297 | else | ||
298 | QToolTip::add( this, textLabel ); | ||
299 | } | ||
300 | -#endif | ||
301 | +#endif | ||
302 | } | ||
303 | |||
304 | |||
305 | @@ -326,12 +326,12 @@ | ||
306 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
307 | w = pm.width(); | ||
308 | h = pm.height(); | ||
309 | -if ( w < 32 ) | ||
310 | - w = 32; | ||
311 | -if ( h < 32 ) | ||
312 | - h = 32; | ||
313 | +if ( w < 24 ) | ||
314 | + w = 24; | ||
315 | +if ( h < 24 ) | ||
316 | + h = 24; | ||
317 | } else { | ||
318 | -w = h = 16; | ||
319 | +w = h = 14; | ||
320 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
321 | w = pm.width(); | ||
322 | h = pm.height(); | ||