summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.8.patch/qte238-all.patch322
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();