summaryrefslogtreecommitdiff
path: root/qt
authormickeyl <mickeyl>2005-02-19 16:07:58 (UTC)
committer mickeyl <mickeyl>2005-02-19 16:07:58 (UTC)
commitb7bf9c7acdc010eb30bc246372efb0d1b394166a (patch) (unidiff)
tree8dde116603cd8ddf439a881fc4a1d8f413af617b /qt
parent298d0d244ca724405ca0651775ed61a22ce7a5ae (diff)
downloadopie-b7bf9c7acdc010eb30bc246372efb0d1b394166a.zip
opie-b7bf9c7acdc010eb30bc246372efb0d1b394166a.tar.gz
opie-b7bf9c7acdc010eb30bc246372efb0d1b394166a.tar.bz2
hello qte2.3.10 patches
bye bye old patches
Diffstat (limited to 'qt') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/README.qt-patches2
-rw-r--r--qt/README.qt-version2
-rw-r--r--qt/qt-2.3.10.patch/daemonize.patch (renamed from qt/qt-2.3.7.patch/qte237-1-daemon.patch)14
-rw-r--r--qt/qt-2.3.10.patch/devfs.patch163
-rw-r--r--qt/qt-2.3.10.patch/encoding.patch34
-rw-r--r--qt/qt-2.3.10.patch/fix-qgfxraster.patch28
-rw-r--r--qt/qt-2.3.10.patch/gcc3.patch27
-rw-r--r--qt/qt-2.3.10.patch/handhelds.patch80
-rw-r--r--qt/qt-2.3.10.patch/qiconview-speed.patch (renamed from qt/qt-2.3.7.patch/qte237-iconviewspeed.patch)46
-rw-r--r--qt/qt-2.3.10.patch/simpad.patch413
-rw-r--r--qt/qt-2.3.10.patch/tslib.patch53
-rw-r--r--qt/qt-2.3.10.patch/vt-switch.patch (renamed from qt/qt-2.3.7.patch/qte237-0-vtswitch.patch)51
-rw-r--r--qt/qt-2.3.5.patch/qte235-all.patch450
-rw-r--r--qt/qt-2.3.7.patch/qte237-adjustsizes.patch64
-rw-r--r--qt/qt-2.3.7.patch/qte237-all-macosx.patch1262
-rw-r--r--qt/qt-2.3.7.patch/qte237-all.patch1463
-rw-r--r--qt/qt-2.3.7.patch/qte237-allowoverride.patch229
-rw-r--r--qt/qt-2.3.7.patch/qte237-encoding.patch49
-rw-r--r--qt/qt-2.3.7.patch/qte237-g++-aslinker.patch161
-rw-r--r--qt/qt-2.3.7.patch/qte237-gcc34.patch510
-rw-r--r--qt/qt-2.3.7.patch/qte237-hancomwordcrash.patch14
-rw-r--r--qt/qt-2.3.7.patch/qte237-keyboard.patch43
-rw-r--r--qt/qt-2.3.7.patch/qte237-lefthand.patch133
-rw-r--r--qt/qt-2.3.8.patch/qte238-adjustsizes.patch64
-rw-r--r--qt/qt-2.3.8.patch/qte238-all.patch1059
-rw-r--r--qt/qt-2.3.8.patch/qte238-allowoverride.patch231
-rw-r--r--qt/qt-2.3.8.patch/qte238-encoding.patch49
-rw-r--r--qt/qt-2.3.8.patch/qte238-gcc34.patch440
-rw-r--r--qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch15
-rw-r--r--qt/qt-2.3.8.patch/qte238-iconviewspeed.patch145
-rw-r--r--qt/qt-2.3.8.patch/qte238-keyboard.patch47
-rw-r--r--qt/qt-2.3.9.patch/qte239-all.patch510
-rw-r--r--qt/qt-2.3.9.patch/qte239-qwsmouse.patch301
33 files changed, 833 insertions, 7319 deletions
diff --git a/qt/README.qt-patches b/qt/README.qt-patches
index e079ba7..fe31bbb 100644
--- a/qt/README.qt-patches
+++ b/qt/README.qt-patches
@@ -3,3 +3,3 @@ For specefic Device patches like Keyboard and Mousedrivers see
3 3
4http://openembedded.bkbits.net:8080/packages/src/qte/qte-2.3.7?nav=index.html|src/.|src/qte 4http://openembedded.bkbits.net:8080/packages/src/qte/qte-2.3.10?nav=index.html|src/.|src/qte
5 5
diff --git a/qt/README.qt-version b/qt/README.qt-version
new file mode 100644
index 0000000..5cc99a9
--- a/dev/null
+++ b/qt/README.qt-version
@@ -0,0 +1,2 @@
1Note: We no longer support anything else than Qt/E 2.3.10
2
diff --git a/qt/qt-2.3.7.patch/qte237-1-daemon.patch b/qt/qt-2.3.10.patch/daemonize.patch
index 1f83398..487a18c 100644
--- a/qt/qt-2.3.7.patch/qte237-1-daemon.patch
+++ b/qt/qt-2.3.10.patch/daemonize.patch
@@ -2,8 +2,8 @@
2# 2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher 3# Patch managed by http://www.holgerschurig.de/patcher.html
4# 4#
5 5
6 --- qt-2.3.7/src/kernel/qapplication_qws.cpp~daemonize2004-07-17 22:47:54.840820000 +0200 6--- qt-2.3.9-snapshot-20041211/src/kernel/qapplication_qws.cpp~daemonize
7 +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-17 23:34:32.407525912 +0200 7+++ qt-2.3.9-snapshot-20041211/src/kernel/qapplication_qws.cpp
8@@ -103,6 +103,7 @@ 8@@ -104,6 +104,7 @@
9 #endif 9 #endif
@@ -15,3 +15,3 @@
15 #include <sys/select.h> 15 #include <sys/select.h>
16@@ -162,6 +163,7 @@ 16@@ -163,6 +164,7 @@
17 //these used to be environment variables, they are initialized from 17 //these used to be environment variables, they are initialized from
@@ -23,3 +23,3 @@
23 bool qws_shared_memory = FALSE; 23 bool qws_shared_memory = FALSE;
24@@ -1614,6 +1616,10 @@ 24@@ -1686,6 +1688,10 @@
25 mwGeometry = argv[i]; 25 mwGeometry = argv[i];
@@ -34,3 +34,3 @@
34 } else if ( arg == "-savefonts" ) { 34 } else if ( arg == "-savefonts" ) {
35@@ -1670,6 +1676,78 @@ 35@@ -1742,6 +1748,78 @@
36 qt_appType = type; 36 qt_appType = type;
diff --git a/qt/qt-2.3.10.patch/devfs.patch b/qt/qt-2.3.10.patch/devfs.patch
new file mode 100644
index 0000000..27ea423
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/devfs.patch
@@ -0,0 +1,163 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.9-snapshot-20050114/configure~devfs
7+++ qt-2.3.9-snapshot-20050114/configure
8@@ -412,6 +412,9 @@
9 -visibility-hidden)
10 VISIBILITY=YES
11 ;;
12+ -devfs)
13+ DEVFS=yes
14 +;;
15 -no-g++-exceptions)
16 GPLUSPLUS_EXCEPTIONS=no
17 ;;
18@@ -1302,6 +1305,8 @@
19 -visibility-hidden . Use -fvisibility=hidden as default. This requires GCC 4.0
20 or a special patched GCC to support the visibility attribute
21
22+ -devfs ............. Use devfs /dev paths.
23+
24 -no-g++-exceptions . Disable exceptions on platforms using the GNU C++
25 compiler by using the -fno-exceptions flag.
26
27@@ -1374,6 +1379,10 @@
28 then
29 QT_CXX="${QT_CXX} -DGCC_SUPPORTS_VISIBILITY -fvisibility=hidden"
30 fi
31+if [ "x$DEVFS" = "xyes" ]
32+then
33+ QT_CXX="${QT_CXX} -DQT_QWS_DEVFS"
34+fi
35 if [ "x$THREAD" = "xyes" ]
36 then
37 cat >src-mt.mk <<EOF
38--- qt-2.3.9-snapshot-20050114/src/kernel/qgfxlinuxfb_qws.cpp~devfs
39+++ qt-2.3.9-snapshot-20050114/src/kernel/qgfxlinuxfb_qws.cpp
40@@ -101,11 +101,19 @@
41 bool QLinuxFbScreen::connect( const QString &displaySpec )
42 {
43 // Check for explicitly specified device
44+#ifdef QT_QWS_DEVFS
45+ QRegExp r( "/dev/fb/[0-9]+" );
46+#else
47 QRegExp r( "/dev/fb[0-9]+" );
48+#endif
49 int len;
50 int m = r.match( displaySpec, 0, &len );
51
52+#ifdef QT_QWS_DEVFS
53+ QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb/0");
54+#else
55 QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb0");
56+#endif
57
58 fd=open( dev.latin1(), O_RDWR );
59 if (fd<0) {
60@@ -121,14 +129,22 @@
61
62 /* Get fixed screen information */
63 if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) {
64+#ifdef QT_QWS_DEVFS
65 +perror("reading /dev/fb/0");
66+#else
67 perror("reading /dev/fb0");
68+#endif
69 qWarning("Error reading fixed information");
70 return FALSE;
71 }
72
73 /* Get variable screen information */
74 if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)) {
75+#ifdef QT_QWS_DEVFS
76 +perror("reading /dev/fb/0");
77+#else
78 perror("reading /dev/fb0");
79+#endif
80 qWarning("Error reading variable information");
81 return FALSE;
82 }
83@@ -165,7 +181,11 @@
84 data += dataoffset;
85
86 if ((int)data == -1) {
87 -perror("mapping /dev/fb0");
88+#ifdef QT_QWS_DEVFS
89 +perror("reading /dev/fb/0");
90+#else
91 +perror("reading /dev/fb0");
92+#endif
93 qWarning("Error: failed to map framebuffer device to memory.");
94 return FALSE;
95 }
96@@ -229,7 +249,11 @@
97
98 static void writeTerm(const char* termctl, int sizeof_termctl)
99 {
100+#ifdef QT_QWS_DEVFS
101+ const char* tt[]={"/dev/vc/1","/dev/console","/dev/tty",0};
102+#else
103 const char* tt[]={"/dev/console","/dev/tty","/dev/tty0",0};
104+#endif
105 const char** dev=tt;
106 while (*dev) {
107 int tty=::open(*dev,O_WRONLY);
108@@ -792,7 +816,11 @@
109 fb_var_screeninfo vinfo;
110
111 if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) {
112+#ifdef QT_QWS_DEVFS
113 +perror("reading /dev/fb/0");
114+#else
115 perror("reading /dev/fb0");
116+#endif
117 qFatal("Error reading fixed information");
118 }
119
120--- qt-2.3.9-snapshot-20050114/src/kernel/qkeyboard_qws.cpp~devfs
121+++ qt-2.3.9-snapshot-20050114/src/kernel/qkeyboard_qws.cpp
122@@ -1192,7 +1192,11 @@
123
124 QWSTtyKeyboardHandler::QWSTtyKeyboardHandler(const QString& device)
125 {
126+#ifdef QT_QWS_DEVFS
127+ kbdFD=open(device.isEmpty() ? "/dev/vc/1" : device.latin1(), O_RDWR | O_NDELAY, 0);
128+#else
129 kbdFD=open(device.isEmpty() ? "/dev/tty0" : device.latin1(), O_RDWR | O_NDELAY, 0);
130+#endif
131
132 if ( kbdFD >= 0 ) {
133 QSocketNotifier *notifier;
134--- qt-2.3.9-snapshot-20050114/src/kernel/qwindowsystem_qws.cpp~devfs
135+++ qt-2.3.9-snapshot-20050114/src/kernel/qwindowsystem_qws.cpp
136@@ -836,7 +836,11 @@
137 void openDevice()
138 {
139 if ( !sn ) {
140+#ifdef QT_QWS_DEVFS
141 + int fd = ::open("/dev/sound/dsp",O_RDWR);
142+#else
143 int fd = ::open("/dev/dsp",O_RDWR);
144+#endif
145 if ( fd < 0 ) {
146 // For debugging purposes - defined QT_NO_SOUND if you
147 // don't have sound hardware!
148--- qt-2.3.9-snapshot-20050114/src/kernel/qsoundqss_qws.cpp~devfs
149+++ qt-2.3.9-snapshot-20050114/src/kernel/qsoundqss_qws.cpp
150@@ -1088,7 +1088,12 @@
151 // Don't block open right away.
152 //
153 bool openOkay = false;
154 - if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) {
155+#ifdef QT_QWS_DEVFS
156+ if ((fd = ::open("/dev/sound/dsp", O_WRONLY|O_NONBLOCK)) != -1)
157+#else
158+ if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1)
159+#endif
160+ {
161 int flags = fcntl(fd, F_GETFL);
162 flags &= ~O_NONBLOCK;
163 openOkay = (fcntl(fd, F_SETFL, flags) == 0);
diff --git a/qt/qt-2.3.10.patch/encoding.patch b/qt/qt-2.3.10.patch/encoding.patch
new file mode 100644
index 0000000..13a4828
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/encoding.patch
@@ -0,0 +1,34 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.9-snapshot-20041211/src/tools/qstring.cpp~encoding
7+++ qt-2.3.9-snapshot-20041211/src/tools/qstring.cpp
8@@ -14469,7 +14469,11 @@
9 return qt_winQString2MB( *this );
10 #endif
11 #ifdef _WS_QWS_
12- return utf8(); // ##### if there is ANY 8 bit format supported?
13+ QTextCodec* codec = QTextCodec::codecForLocale();
14+ return codec
15 + ? codec->fromUnicode(*this)
16 + : utf8();
17+ //return latin1(); // ##### if there is ANY 8 bit format supported?
18 #endif
19 #endif
20 }
21@@ -14515,7 +14519,12 @@
22 return qt_winMB2QString( local8Bit );
23 #endif
24 #ifdef _WS_QWS_
25- return fromUtf8(local8Bit,len);
26+ QTextCodec* codec = QTextCodec::codecForLocale();
27+ if( len < 0) len = qstrlen(local8Bit);
28+ return codec
29 + ? codec->toUnicode(local8Bit, len)
30 + : QString::fromUtf8(local8Bit,len);
31+// return fromLatin1(local8Bit,len);
32 #endif
33 #endif // QT_NO_TEXTCODEC
34 }
diff --git a/qt/qt-2.3.10.patch/fix-qgfxraster.patch b/qt/qt-2.3.10.patch/fix-qgfxraster.patch
new file mode 100644
index 0000000..7bc1e2a
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/fix-qgfxraster.patch
@@ -0,0 +1,28 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.9-snapshot-20041211/src/kernel/qgfxraster_qws.cpp~fix-qgfxraster
7+++ qt-2.3.9-snapshot-20041211/src/kernel/qgfxraster_qws.cpp
8@@ -4037,13 +4037,14 @@
9 for( loopc2=0;loopc2<frontadd;loopc2++ )
10 *(alphaptr++)=get_value_32(16,(unsigned char **)&temppos);
11
12 -PackType temp2;
13 -unsigned char * cp;
14 +volatile PackType temp2;
15 +volatile unsigned short int * cp;
16 for( loopc2=0;loopc2<count;loopc2++ ) {
17 - temp2=*((PackType *)temppos);
18 - cp=(unsigned char *)&temp2;
19 - *(alphaptr++)=get_value_32(16,&cp);
20 - *(alphaptr++)=get_value_32(16,&cp);
21+ temp2=*reinterpret_cast<PackType *>(temppos);
22+ cp=reinterpret_cast<volatile unsigned short int *>(&temp2);
23+ *(alphaptr++)=qt_conv16ToRgb(*cp);
24+ cp++;
25+ *(alphaptr++)=qt_conv16ToRgb(*cp);
26 temppos += 2;
27 }
28
diff --git a/qt/qt-2.3.10.patch/gcc3.patch b/qt/qt-2.3.10.patch/gcc3.patch
new file mode 100644
index 0000000..fc1656a
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/gcc3.patch
@@ -0,0 +1,27 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.9-snapshot-20041211/src/tools/qcstring.h~gcc3
7+++ qt-2.3.9-snapshot-20041211/src/tools/qcstring.h
8@@ -119,7 +119,7 @@
9 // We want to keep source compatibility for 2.x
10 // ### TODO for 4.0: completely remove these and the cstr* functions
11
12-#if !defined(QT_GENUINE_STR)
13+#if 0
14
15 #undefstrlen
16 #define strlen qstrlen
17--- qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h~gcc3
18+++ qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h
19@@ -50,7 +50,7 @@
20 enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6,
21 TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10,
22 Close=11, Minimize=12, Maximize=13, Normalize=14,
23 - Menu=15, LastRegion=Menu };
24 + Menu=15, LastRegion=Menu, UserDefined = 100 };
25
26 virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0;
27 virtual void close( QWidget * );
diff --git a/qt/qt-2.3.10.patch/handhelds.patch b/qt/qt-2.3.10.patch/handhelds.patch
new file mode 100644
index 0000000..3335796
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/handhelds.patch
@@ -0,0 +1,80 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.10-snapshot-20050131/src/widgets/qcommonstyle.cpp~opie
7+++ qt-2.3.10-snapshot-20050131/src/widgets/qcommonstyle.cpp
8@@ -572,7 +572,7 @@
9 bool enabled, bool active )
10 {
11 #ifndef QT_NO_MENUBAR
12-#ifndef QT_NO_STYLE_SGI
13+#if 1 // #ifndef QT_NO_STYLE_SGI
14 if (draw_menu_bar_impl != 0) {
15 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
16 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
17--- qt-2.3.10-snapshot-20050131/src/widgets/qlistview.cpp~opie
18+++ qt-2.3.10-snapshot-20050131/src/widgets/qlistview.cpp
19@@ -5051,9 +5051,9 @@
20 l = l->childItem ? l->childItem : l->siblingItem;
21
22 if ( l && l->height() )
23 -s.setHeight( s.height() + 10 * l->height() );
24- else
25 -s.setHeight( s.height() + 140 );
26 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
27+ else // ^v much too big for handhelds
28 +s.setHeight( s.height() + 30 /*140*/ );
29
30 if ( s.width() > s.height() * 3 )
31 s.setHeight( s.width() / 3 );
32--- qt-2.3.10-snapshot-20050131/src/kernel/qwindowsystem_qws.cpp~opie
33+++ qt-2.3.10-snapshot-20050131/src/kernel/qwindowsystem_qws.cpp
34@@ -918,6 +918,18 @@
35 {
36 }
37
38+static void catchSegvSignal( int )
39+{
40+#ifndef QT_NO_QWS_KEYBOARD
41+ if ( qwsServer )
42 +qwsServer->closeKeyboard();
43+#endif
44+ QWSServer::closedown();
45+ fprintf(stderr, "Segmentation fault.\n");
46+ exit(1);
47+}
48+
49+
50 /*!
51 \class QWSServer qwindowsystem_qws.h
52 \brief Server-specific functionality in Qt/Embedded
53@@ -1043,6 +1055,7 @@
54 }
55
56 signal(SIGPIPE, ignoreSignal); //we get it when we read
57+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
58 #endif
59 focusw = 0;
60 mouseGrabber = 0;
61--- qt-2.3.10-snapshot-20050131/src/widgets/qtoolbutton.cpp~opie
62+++ qt-2.3.10-snapshot-20050131/src/widgets/qtoolbutton.cpp
63@@ -332,12 +332,12 @@
64 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
65 w = pm.width();
66 h = pm.height();
67 -if ( w < 32 )
68 - w = 32;
69 -if ( h < 32 )
70 - h = 32;
71 +if ( w < 24 )
72 + w = 24;
73 +if ( h < 24 )
74 + h = 24;
75 } else {
76 -w = h = 16;
77 +w = h = 14;
78 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
79 w = pm.width();
80 h = pm.height();
diff --git a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch b/qt/qt-2.3.10.patch/qiconview-speed.patch
index 81064e1..bac9b97 100644
--- a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch
+++ b/qt/qt-2.3.10.patch/qiconview-speed.patch
@@ -1,16 +1,9 @@
1Speed up patches backported from
2 1
3http://robotics.dei.unipd.it/~koral/KDE/kflicker.html 2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
4 5
5and 6--- qt-2.3.10-snapshot-20050131/src/iconview/qiconview.cpp~qiconview-speed
6 7+++ qt-2.3.10-snapshot-20050131/src/iconview/qiconview.cpp
7http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) 8@@ -225,6 +225,7 @@
8
9
10
11
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
14 +++ qt-2.3.7/src/iconview/qiconview.cpp2004-06-13 22:33:32.000000000 +0200
15@@ -220,6 +220,7 @@
16 QIconView::SelectionMode selectionMode; 9 QIconView::SelectionMode selectionMode;
@@ -22,3 +15,3 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.
22 int rastX, rastY, spacing; 15 int rastX, rastY, spacing;
23@@ -2263,6 +2264,7 @@ 16@@ -2268,6 +2269,7 @@
24 d->currentItem = 0; 17 d->currentItem = 0;
@@ -30,3 +23,3 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.
30 d->tmpCurrentItem = 0; 23 d->tmpCurrentItem = 0;
31@@ -2411,6 +2413,8 @@ 24@@ -2416,6 +2418,8 @@
32 delete item; 25 delete item;
@@ -39,3 +32,3 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.
39 #ifndef QT_NO_TOOLTIP 32 #ifndef QT_NO_TOOLTIP
40@@ -2877,6 +2881,48 @@ 33@@ -2882,6 +2886,48 @@
41 } 34 }
@@ -88,3 +81,3 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.
88 81
89@@ -4855,7 +4901,7 @@ 82@@ -4939,7 +4985,7 @@
90 if ( !d->rubber ) 83 if ( !d->rubber )
@@ -97,3 +90,3 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.
97 drawDragShapes( d->oldDragPos ); 90 drawDragShapes( d->oldDragPos );
98@@ -5286,11 +5332,19 @@ 91@@ -5377,11 +5423,19 @@
99 return; 92 return;
@@ -119,5 +112,4 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.
119 112
120diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h 113--- qt-2.3.10-snapshot-20050131/src/iconview/qiconview.h~qiconview-speed
121 --- qt-2.3.7_old/src/iconview/qiconview.h2004-06-13 22:29:56.000000000 +0200 114+++ qt-2.3.10-snapshot-20050131/src/iconview/qiconview.h
122 +++ qt-2.3.7/src/iconview/qiconview.h2004-06-13 22:33:32.000000000 +0200
123@@ -444,6 +444,7 @@ 115@@ -444,6 +444,7 @@
@@ -130,13 +122 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h
130 virtual void focusInEvent( QFocusEvent *e ); virtual void focusInEvent( QFocusEvent *e );
131 --- qt-2.3.7-old/src/widgets/qscrollview.cpp2004-07-23 15:22:56.000000000 +0200
132 +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-07-23 19:23:10.000000000 +0200
133@@ -1266,6 +1277,9 @@
134 case QEvent::LayoutHint:
135 d->autoResizeHint(this);
136 break;
137 +case QEvent::WindowActivate:
138 +case QEvent::WindowDeactivate:
139 + return TRUE;
140 default:
141 break;
142 }
diff --git a/qt/qt-2.3.10.patch/simpad.patch b/qt/qt-2.3.10.patch/simpad.patch
new file mode 100644
index 0000000..1777a94
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/simpad.patch
@@ -0,0 +1,413 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp~simpad
7+++ qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp
8@@ -37,6 +37,7 @@
9 #include <qapplication.h>
10 #include <qsocketnotifier.h>
11 #include <qnamespace.h>
12+#include <qdatetime.h>
13 #include <qtimer.h>
14
15 #include <stdlib.h>
16@@ -80,6 +81,60 @@
17 #include <sys/vt.h>
18 #endif
19
20+/*
21+ * SIMpad switches handler
22+ * (C) 2003-2005 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
23+ */
24+
25+
26+
27+#include <linux/switches.h>
28+#define SIMPAD_SWITCHES_DEVICE "/dev/misc/switches"
29+
30+// switches from left top to right down over the SIMpad surface
31+
32+#define SIMPAD_SWITCH_POWER 0x02
33+#define SIMPAD_SWITCH_UPPER 0x10
34+#define SIMPAD_SWITCH_UP 0x20
35+#define SIMPAD_SWITCH_DOWN 0x40
36+#define SIMPAD_SWITCH_LEFT 0x80
37+#define SIMPAD_SWITCH_RIGHT 0x100
38+#define SIMPAD_SWITCH_LOWER 0x8
39+
40+class QWSsimpadButtonsHandler : public QWSKeyboardHandler
41+{
42+ Q_OBJECT
43+
44+ public:
45+ QWSsimpadButtonsHandler();
46+ virtual ~QWSsimpadButtonsHandler();
47+
48+ bool isOpen() { return fd > 0; }
49+
50+ private slots:
51+ void readSwitchesData();
52+ void autoRepeat();
53+
54+ private:
55+ switches_mask_t switches;
56+
57+ int fd;
58+ int repeatdelay;
59+ int repeatperiod;
60+
61+ int lastCode; // last native code
62+ int lastPress; // last press/release state
63+
64+ int k; // last emitted Qt key code
65+ int shiftKeyPressed; // true if one of the SHIFT keys has been pressed and not yet released
66+ bool shiftUsed; // true if SHIFT has been used
67+
68+ QTime eventTimer; // tracks time between raw events
69+ QTimer* repeater;
70+ QSocketNotifier *notifier;
71+};
72+
73+
74 #ifdef QT_QWS_SL5XXX
75 #include <asm/sharp_char.h>
76 #endif
77@@ -165,9 +220,9 @@
78 current = 0;
79 }
80
81- void setAutoRepeat(int d, int p) { if ( d > 0 ) repeatdelay=d;
82+ void setAutoRepeat(int d, int p) { if ( d > 0 ) repeatdelay=d;
83 if ( p > 0 ) repeatperiod=p;}
84- void getAutoRepeat(int *d ,int *p ) { if (d) *d=repeatdelay;
85+ void getAutoRepeat(int *d ,int *p ) { if (d) *d=repeatdelay;
86 if (p) *p=repeatperiod; }
87
88 void stop()
89@@ -551,9 +606,9 @@
90
91 void doKey(uchar scancode);
92
93-
94+
95 void restoreLeds();
96-
97+
98 private:
99 bool shift;
100 bool alt;
101@@ -809,7 +864,7 @@
102
103 #if !defined(QT_QWS_SL5XXX)
104 if (code == 224
105-#if defined(QT_QWS_IPAQ)
106+#if defined(QT_QWS_IPAQ)
107 && !ipaq_return_pressed
108 #endif
109 ) {
110@@ -1775,9 +1830,11 @@
111 } else {
112 type = spec;
113 }
114-
115 if ( type == "Buttons" ) {
116-#if defined(QT_QWS_YOPY)
117+#if defined(QT_QWS_SIMPAD)
118 +qDebug( "QWSKeyboardHandler: using SIMpad switches handler..." );
119 +handler = new QWSsimpadButtonsHandler();
120+#elif defined(QT_QWS_YOPY)
121 handler = new QWSyopyButtonsHandler();
122 #elif defined(QT_QWS_CASSIOPEIA)
123 handler = new QWSVr41xxButtonsHandler();
124@@ -1812,6 +1869,218 @@
125 return keyM;
126 }
127
128-#endif // QT_NO_QWS_KEYBOARD
129
130+/*
131+ * SIMpad switches handler
132+ * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
133+ */
134+
135+
136+QWSsimpadButtonsHandler::QWSsimpadButtonsHandler()
137+ :QWSKeyboardHandler(), fd( -1 ),
138+ repeatdelay( 700 ), repeatperiod( 80 ),
139+ lastCode( 0 ), lastPress( 0 ),
140+ k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false )
141+{
142+ qDebug( "SimpadButtonsHandler() - V4.1" );
143+ fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 );
144+ if ( fd < 0 )
145+ {
146+ qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE );
147+ return;
148+ }
149+
150+ notifier = new QSocketNotifier( fd, QSocketNotifier::Read, this );
151+ connect( notifier, SIGNAL( activated(int) ),this, SLOT( readSwitchesData() ) );
152+
153+ repeater = new QTimer(this);
154+ connect(repeater, SIGNAL(timeout()), this, SLOT(autoRepeat()));
155+
156+}
157
158+
159+QWSsimpadButtonsHandler::~QWSsimpadButtonsHandler()
160+{
161+ qDebug( "~SimpadButtonsHandler()" );
162+ if ( fd > 0 )
163+ {
164+ ::close( fd );
165+ fd = -1;
166+ }
167+}
168+
169+
170+void QWSsimpadButtonsHandler::readSwitchesData()
171+{
172+ qDebug( "SimpadButtonsHandler() - detected switches action" );
173+
174+ if ( ::read( fd, &switches, sizeof switches ) < 0 )
175+ {
176+ qWarning( "SimpadButtonsHandler() - switches read error!" );
177+ return;
178+ }
179+
180+ qDebug( "SimpadButtonsHandler() - Shift: %0x [used: %0x] + Event = %0x | %0x",
181+ shiftKeyPressed, shiftUsed, switches.events[0], switches.states[0] );
182+
183+ bool press = switches.states[0]; // == switches.event[0];
184+ int code = switches.events[0];
185+
186+ //=========================================================================
187+
188+ /**
189+ * Work around a bug in the kernel keyboard driver emitting
190+ * bogus events when pressing multiple switches at once
191+ **/
192+
193+ if ( lastCode == 0 )
194+ {
195+ // first press ever
196+ eventTimer.start();
197+ lastPress = press;
198+ lastCode = code;
199+ }
200+ else
201+ {
202+ int interval = eventTimer.restart();
203+ qDebug( "event interval = %d", interval );
204+ if ( code == lastCode && interval < 10 )
205+ {
206+ qDebug( "event interval too small - ignoring bogus event" );
207+ qDebug( "did I say i hate buggy kernel drivers? :-D" );
208+ return;
209+ }
210+
211+ lastPress = press;
212+ lastCode = code;
213+ }
214+
215+ /**
216+ * Actually it may also be a hardware problem, but I really don't like
217+ * to review kernel code for further inquiry. So just being lazy and
218+ * do the workaround in user space :-D
219+ **/
220+
221+ //=====================================================================
222+
223+ if ( shiftKeyPressed )
224+ {
225+ // a shift key obviously is being held
226+ qDebug( "while shift key is being held..." );
227+
228+ if ( code != shiftKeyPressed )
229+ {
230+ // another key is being touched - that means shift mode for us!
231+ qDebug( " another key is being touched -> shift use now = true" );
232+
233+ shiftUsed = true;
234+
235+ if ( shiftKeyPressed == SIMPAD_SWITCH_LOWER ) // SHIFT 1
236+ {
237+ qDebug( " shift mode 1" );
238+ switch(code)
239+ {
240+ case SIMPAD_SWITCH_UP: k = Qt::Key_F9; break; // Shift1-Up = Calendar
241+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F10; break; // Shift1-Down = Contacts
242+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F13; break; // Shift1-Left = Mail
243+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F11; break; // Shift1-Up = Menu
244+ case SIMPAD_SWITCH_UPPER: k = Qt::Key_F12; break; // Shift1-Upper = Home
245+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 1 !" ); break;
246+ }
247+ }
248+ else if ( shiftKeyPressed == SIMPAD_SWITCH_UPPER ) // SHIFT 2
249+ {
250+ qDebug( " shift mode 2" );
251+ switch(code)
252+ {
253+ case SIMPAD_SWITCH_UP: k = Qt::Key_F5; break; // Shift2-Up = F5
254+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F6; break; // Shift2-Down = F6
255+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F7; break; // Shift2-Left = F7
256+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F8; break; // Shift2-Up = F8
257+ case SIMPAD_SWITCH_LOWER: k = Qt::Key_F9; break; // Shift2-Lower = F9
258+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 2!" ); break;
259+ }
260+ }
261+ }
262+ else
263+ {
264+ qDebug( " shift key has been released. checking if being used..." );
265+ shiftKeyPressed = 0;
266+
267+ if ( !shiftUsed )
268+ {
269+ qDebug( " ... has _not_ being used -> really emit the key" );
270+ k = ( code == SIMPAD_SWITCH_UPPER ? Qt::Key_Escape : Qt::Key_Return );
271+ qDebug( "Emitting key = %d (pressed)", k );
272+ processKeyEvent( 0, k, 0, true, true );
273+ qDebug( "Emitting key = %d (released)", k );
274+ processKeyEvent( 0, k, 0, false, true );
275+ return;
276+ }
277+ else
278+ {
279+ qDebug( " ... has being used -> doing nothing" );
280+ return;
281+ }
282+ }
283+ }
284+ else
285+ {
286+ qDebug( "standard mode - no shift yet..." );
287+
288+ switch(code)
289+ {
290+ case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break;
291+ case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break;
292+ case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break;
293+ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break;
294+ case SIMPAD_SWITCH_POWER: k = Qt::Key_F34; break; // Power Button
295+
296+ case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return;
297+ case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return;
298+
299+ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break;
300+ }
301+ }
302+
303+ if ( k == -1 )
304+ {
305+ qDebug( "no key to emit - returning." );
306+ return;
307+ }
308+
309+ bool repeatable = ( k == Qt::Key_Up || k == Qt::Key_Down ||
310+ k == Qt::Key_Right || k == Qt::Key_Left );
311+
312+ qDebug( "key to emit = %d [%s] [repeat=%s]", k,
313+ press ? "press" : "release",
314+ repeatable ? "true":"false" );
315+
316+ if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down )
317+ {
318+ qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." );
319+ int oldK = k;
320+ k = xform_dirkey( k );
321+ qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k );
322+ }
323+
324+ if ( repeatable && press )
325+ repeater->start( repeatdelay, true );
326+ else
327+ repeater->stop();
328+
329+ qwsServer->processKeyEvent( 0, k, 0, press, false );
330+}
331+
332+
333+void QWSsimpadButtonsHandler::autoRepeat()
334+{
335+ qDebug( "Emitting key = %d (released)", k );
336+ processKeyEvent( 0, k, 0, false, true );
337+ qDebug( "Emitting key = %d (pressed)", k );
338+ processKeyEvent( 0, k, 0, true, true );
339+ repeater->start(repeatperiod);
340+}
341+
342+
343+#endif // QT_NO_QWS_KEYBOARD
344--- qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp~simpad
345+++ qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp
346@@ -53,8 +53,8 @@
347
348 extern int errno;
349
350-#define QT_QWS_SOUND_16BIT 1 // or 0, or undefined for always 0
351-#define QT_QWS_SOUND_STEREO 1 // or 0, or undefined for always 0
352+#define QT_QWS_SOUND_16BIT 0 // or 0, or undefined for always 0
353+#define QT_QWS_SOUND_STEREO 0 // or 0, or undefined for always 0
354
355 // Zaurus SL5000D doesn't seem to return any error if setting to 44000 and it fails,
356 // however 44100 works, 44100 is more common that 44000.
357--- qt-2.3.10-snapshot-20050131/src/kernel/qwsmouse_qws.cpp~simpad
358+++ qt-2.3.10-snapshot-20050131/src/kernel/qwsmouse_qws.cpp
359@@ -47,6 +47,7 @@
360 #include <stdlib.h>
361 #include <stdio.h>
362 #include <sys/ioctl.h>
363+#include <sys/time.h>
364 #include <sys/types.h>
365 #include <sys/stat.h>
366 #include <fcntl.h>
367@@ -73,6 +74,7 @@
368 unsigned short x;
369 unsigned short y;
370 unsigned short pad;
371+ struct timeval stamp;
372 } TS_EVENT;
373 #elif defined(QT_QWS_SL5XXX)
374 #define QT_QWS_SL5XXX_RAW
375@@ -1310,6 +1312,11 @@
376 return;
377 }
378 # endif
379+#elif defined(QT_QWS_SIMPAD )
380+ if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK )) < 0) {
381+ qWarning( "Cannot open /dev/touchscreen/ucb1x00 (%s)", strerror(errno));
382+ return;
383+ }
384 #endif
385
386 QSocketNotifier *mouseNotifier;
387@@ -1323,7 +1330,7 @@
388
389 QTPanelHandlerPrivate::~QTPanelHandlerPrivate()
390 {
391-#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700)
392+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD)
393 if (mouseFD >= 0)
394 close(mouseFD);
395 #endif
396@@ -1331,7 +1338,7 @@
397
398 void QTPanelHandlerPrivate::readMouseData()
399 {
400-#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700)
401+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD)
402 if(!qt_screen)
403 return;
404
405@@ -2014,7 +2021,7 @@
406 handler = new QTSLibHandlerPrivate();
407 #elif defined(QT_QWS_YOPY)
408 handler = new QYopyTPanelHandlerPrivate(mouseProtocol,mouseDev);
409-#elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700)
410+#elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD)
411 handler = new QTPanelHandlerPrivate(mouseProtocol,mouseDev);
412 #elif defined(QT_QWS_CASSIOPEIA)
413 handler = new QVrTPanelHandlerPrivate( mouseProtocol, mouseDev );
diff --git a/qt/qt-2.3.10.patch/tslib.patch b/qt/qt-2.3.10.patch/tslib.patch
new file mode 100644
index 0000000..47837d7
--- a/dev/null
+++ b/qt/qt-2.3.10.patch/tslib.patch
@@ -0,0 +1,53 @@
1Index: qt-2.3.10/src/kernel/qwsmouse_qws.cpp
2===================================================================
3 --- qt-2.3.10.orig/src/kernel/qwsmouse_qws.cpp2005-02-16 00:53:53.090339898 +0100
4 +++ qt-2.3.10/src/kernel/qwsmouse_qws.cpp2005-02-16 00:54:43.059069292 +0100
5@@ -1878,30 +1878,33 @@
6 */
7 void QTSLibHandlerPrivate::interpolateSample() {
8 #ifdef QT_QWS_TSLIB
9- static struct ts_sample samples[25];
10- int index = -1;
11+#define TSLIB_MAX_SAMPLES 25
12+ static struct ts_sample samples[TSLIB_MAX_SAMPLES];
13+ int index = 0;
14+ int read_samples = 0;
15 int ret;
16
17 do {
18- /* fill only the last sample again */
19- if ( index >= 25 )
20- index = 24;
21-
22+ /* do not access negative arrays */
23+ if ( index < 0 )
24+ index = 0;
25 +
26 /* we're opened non-blocking */
27- if((ret= ts_read_raw(m_ts, &samples[index], 1 ) ) != 1 ) {
28+ if((ret= ts_read_raw(m_ts, &samples[index], 1 ) ) != 1 )
29 /* no event yet, so try again */
30- if (ret==-1 ) {
31- index--;
32+ if (ret==-1 )
33 continue;
34- }
35- }
36- }while (samples[index++].pressure != 0);
37 +
38 +read_samples++;
39 +index = (index+1)%TSLIB_MAX_SAMPLES;
40+ }while (samples[index == 0 ? (TSLIB_MAX_SAMPLES-1) : index-1].pressure != 0);
41
42 /*
43- * index is maximal 25 and we at least one sample
44+ * If we've wrapped around each sample is used otherwise
45+ * we will use the index
46 */
47- if( index >= 25 )
48- index = 24;
49+ index = read_samples >= TSLIB_MAX_SAMPLES ?
50+ (TSLIB_MAX_SAMPLES-1 ) : index;
51 int x, y;
52
53 /*
diff --git a/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch b/qt/qt-2.3.10.patch/vt-switch.patch
index be2745c..4007a5d 100644
--- a/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch
+++ b/qt/qt-2.3.10.patch/vt-switch.patch
@@ -5,5 +5,5 @@
5 5
6--- qt-2.3.7/src/kernel/qapplication_qws.cpp~vt-switch.patch 6--- qt-2.3.9-snapshot-20041221/src/kernel/qapplication_qws.cpp~vt-switch.patch
7+++ qt-2.3.7/src/kernel/qapplication_qws.cpp 7+++ qt-2.3.9-snapshot-20041221/src/kernel/qapplication_qws.cpp
8@@ -123,6 +123,12 @@ 8@@ -124,6 +124,12 @@
9 static int qt_thread_pipe[2]; 9 static int qt_thread_pipe[2];
@@ -20,3 +20,3 @@
20 // These are in qapplication.cpp in qt/main 20 // These are in qapplication.cpp in qt/main
21@@ -163,6 +169,8 @@ 21@@ -164,6 +170,8 @@
22 bool qws_accel = TRUE; // ### never set 22 bool qws_accel = TRUE; // ### never set
@@ -29,3 +29,3 @@
29 QWidget *qt_mouseGrb = 0; 29 QWidget *qt_mouseGrb = 0;
30@@ -1628,6 +1636,15 @@ 30@@ -1700,6 +1708,15 @@
31 type = QApplication::GuiServer; 31 type = QApplication::GuiServer;
@@ -45,3 +45,3 @@
45 qws_display_spec = argv[i]; 45 qws_display_spec = argv[i];
46@@ -1652,6 +1669,53 @@ 46@@ -1724,6 +1741,53 @@
47 if ( type == QApplication::GuiServer ) { 47 if ( type == QApplication::GuiServer ) {
@@ -99,3 +99,3 @@
99 } 99 }
100@@ -1702,7 +1766,36 @@ 100@@ -1774,7 +1838,36 @@
101 QFontManager::cleanup(); 101 QFontManager::cleanup();
@@ -137,32 +137,5 @@
137 delete qt_fbdpy; 137 delete qt_fbdpy;
138@@ -2584,7 +2677,7 @@ 138--- qt-2.3.9-snapshot-20041221/src/kernel/qkeyboard_qws.cpp~vt-switch.patch
139 if ( !widget ) { // don't know this window 139+++ qt-2.3.9-snapshot-20041221/src/kernel/qkeyboard_qws.cpp
140 if ( !QWidget::mouseGrabber() 140@@ -1247,6 +1247,24 @@
141 #ifndef QT_NO_QWS_MANAGER
142 - && !QWSManager::grabbedMouse()
143 + && !QWSManager::grabbedMouse()
144 #endif
145 ) {
146 qt_last_cursor = 0xffffffff; // cursor can be changed by another application
147@@ -3394,7 +3487,7 @@
148 #ifndef QT_NO_QWS_IM
149 if ( mouse.state&button && w != QInputContext::microFocusWidget() ) //button press
150 QInputContext::reset( oldFocus );
151 -#endif
152+#endif
153 QFocusEvent::setReason( QFocusEvent::Mouse);
154 w->setFocus();
155 QFocusEvent::resetReason();
156@@ -3540,7 +3633,7 @@
157 QApplication::sendEvent( widget, &enter );
158 (*mouseInWidget) = widget;
159 #ifndef QT_NO_QWS_IM
160 - if ( e.type() == QEvent::MouseButtonPress &&
161 + if ( e.type() == QEvent::MouseButtonPress &&
162 !widget->testWFlags( Qt::WStyle_Tool ) &&
163 !widget->topLevelWidget()->testWFlags( Qt::WStyle_Tool ) )
164 QInputContext::reset( oldFocus );
165--- qt-2.3.7/src/kernel/qkeyboard_qws.cpp~vt-switch.patch
166+++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp
167@@ -1068,6 +1068,24 @@
168 { 141 {
@@ -191,4 +164,4 @@
191 #endif 164 #endif
192--- qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch 165--- qt-2.3.9-snapshot-20041221/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch
193+++ qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp 166+++ qt-2.3.9-snapshot-20041221/src/kernel/qgfxlinuxfb_qws.cpp
194@@ -251,9 +251,9 @@ 167@@ -251,9 +251,9 @@
diff --git a/qt/qt-2.3.5.patch/qte235-all.patch b/qt/qt-2.3.5.patch/qte235-all.patch
deleted file mode 100644
index 9b58dbe..0000000
--- a/qt/qt-2.3.5.patch/qte235-all.patch
+++ b/dev/null
@@ -1,450 +0,0 @@
1diff -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
59diff -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,
91diff -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 ) {
176Nur in qt-2.3.5/src/kernel: qapplication.cpp.orig.
177diff -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
235diff -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;
250Nur in qt-2.3.5/src/kernel: qapplication_qws.cpp.orig.
251diff -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 );
277diff -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,
309diff -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
321Nur in qt-2.3.5/src/kernel: qgfxraster_qws.cpp.orig.
322diff -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;
352diff -ru qt-2.3.5_fresh/src/Makefile.in qt-2.3.5/src/Makefile.in
353 --- qt-2.3.5_fresh/src/Makefile.in2003-05-13 15:56:13.000000000 +0200
354 +++ qt-2.3.5/src/Makefile.in2003-05-13 15:58:18.000000000 +0200
355@@ -6,7 +6,7 @@
356 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS_X11) $(SYSCONF_CXXFLAGS) $(SYSCONF_CXXFLAGS_LIB) -DQT_NO_IMAGEIO_MNG $(QT_CXXFLAGS_OPT)
357 CC =$(SYSCONF_CC) $(QT_C_MT)
358 CFLAGS =$(SYSCONF_CFLAGS) $(SYSCONF_CFLAGS_LIB) -DQT_NO_IMAGEIO_MNG $(QT_CFLAGS_OPT)
359 -INCPATH =-I3rdparty/freetype/src -I3rdparty/freetype/include -I3rdparty/freetype/builds/unix -I3rdparty/kernel -I3rdparty/tools
360 +INCPATH =-I3rdparty/kernel -I3rdparty/tools
361 LFLAGS =$(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
362 LIBS =$(SUBLIBS) $(SYSCONF_LIBS_QTLIB)
363 MOC =$(SYSCONF_MOC)
364@@ -44,26 +44,7 @@
365 3rdparty/freetype/src/type1/type1.c \
366 3rdparty/freetype/src/winfonts/winfnt.c \
367 allmoc.cpp
368 -OBJECTS =3rdparty/freetype/builds/unix/ftsystem.o \
369 - 3rdparty/freetype/src/base/ftdebug.o \
370 - 3rdparty/freetype/src/base/ftinit.o \
371 - 3rdparty/freetype/src/base/ftbase.o \
372 - 3rdparty/freetype/src/base/ftglyph.o \
373 - 3rdparty/freetype/src/base/ftmm.o \
374 - 3rdparty/freetype/src/base/ftbbox.o \
375 - 3rdparty/freetype/src/autohint/autohint.o \
376 - 3rdparty/freetype/src/cache/ftcache.o \
377 - 3rdparty/freetype/src/cff/cff.o \
378 - 3rdparty/freetype/src/cid/type1cid.o \
379 - 3rdparty/freetype/src/psaux/psaux.o \
380 - 3rdparty/freetype/src/psnames/psmodule.o \
381 - 3rdparty/freetype/src/raster/raster.o \
382 - 3rdparty/freetype/src/sfnt/sfnt.o \
383 - 3rdparty/freetype/src/smooth/smooth.o \
384 - 3rdparty/freetype/src/truetype/truetype.o \
385 - 3rdparty/freetype/src/type1/type1.o \
386 - 3rdparty/freetype/src/winfonts/winfnt.o \
387 - allmoc.o $(QT_MODULE_OBJ)
388 +OBJECTS =allmoc.o $(QT_MODULE_OBJ)
389 INTERFACES =
390 UICDECLS =
391 UICIMPLS =
392diff -ru qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp qt-2.3.5/src/widgets/qcommonstyle.cpp
393 --- qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp2003-05-13 15:56:12.000000000 +0200
394 +++ qt-2.3.5/src/widgets/qcommonstyle.cpp2003-05-13 15:58:19.000000000 +0200
395@@ -566,7 +566,7 @@
396 bool enabled, bool active )
397 {
398 #ifndef QT_NO_MENUBAR
399-#ifndef QT_NO_STYLE_SGI
400+#if 1 // #ifndef QT_NO_STYLE_SGI
401 if (draw_menu_bar_impl != 0) {
402 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
403 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
404Nur in qt-2.3.5/src/widgets: qcommonstyle.cpp.orig.
405diff -ru qt-2.3.5_fresh/src/widgets/qlistview.cpp qt-2.3.5/src/widgets/qlistview.cpp
406 --- qt-2.3.5_fresh/src/widgets/qlistview.cpp2003-05-13 15:56:12.000000000 +0200
407 +++ qt-2.3.5/src/widgets/qlistview.cpp2003-05-13 15:58:18.000000000 +0200
408@@ -4968,9 +4968,9 @@
409 l = l->childItem ? l->childItem : l->siblingItem;
410
411 if ( l && l->height() )
412 -s.setHeight( s.height() + 10 * l->height() );
413- else
414 -s.setHeight( s.height() + 140 );
415 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
416+ else // ^v much too big for handhelds
417 +s.setHeight( s.height() + 30 /*140*/ );
418
419 if ( s.width() > s.height() * 3 )
420 s.setHeight( s.width() / 3 );
421diff -ru qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp qt-2.3.5/src/widgets/qtoolbutton.cpp
422 --- qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp2003-05-13 15:56:12.000000000 +0200
423 +++ qt-2.3.5/src/widgets/qtoolbutton.cpp2003-05-13 15:58:18.000000000 +0200
424@@ -230,7 +230,7 @@
425 else
426 QToolTip::add( this, textLabel );
427 }
428 -#endif
429+#endif
430 }
431
432
433@@ -324,12 +324,12 @@
434 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
435 w = pm.width();
436 h = pm.height();
437 -if ( w < 32 )
438 - w = 32;
439 -if ( h < 32 )
440 - h = 32;
441 +if ( w < 24 )
442 + w = 24;
443 +if ( h < 24 )
444 + h = 24;
445 } else {
446 -w = h = 16;
447 +w = h = 14;
448 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
449 w = pm.width();
450 h = pm.height();
diff --git a/qt/qt-2.3.7.patch/qte237-adjustsizes.patch b/qt/qt-2.3.7.patch/qte237-adjustsizes.patch
deleted file mode 100644
index ac1e31a..0000000
--- a/qt/qt-2.3.7.patch/qte237-adjustsizes.patch
+++ b/dev/null
@@ -1,64 +0,0 @@
1Qt was not created for 240x320 and we adjust some default values to be more
2sane for the usage on handhelds
3
4
5
6
7diff -ur qt-2.3.7-old/src/widgets/qcommonstyle.cpp qt-2.3.7/src/widgets/qcommonstyle.cpp
8 --- qt-2.3.7-old/src/widgets/qcommonstyle.cpp2004-07-23 15:22:56.000000000 +0200
9 +++ qt-2.3.7/src/widgets/qcommonstyle.cpp2004-07-23 15:38:13.000000000 +0200
10@@ -566,7 +566,7 @@
11 bool enabled, bool active )
12 {
13 #ifndef QT_NO_MENUBAR
14-#ifndef QT_NO_STYLE_SGI
15+#if 1 // #ifndef QT_NO_STYLE_SGI
16 if (draw_menu_bar_impl != 0) {
17 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
18 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
19diff -ur qt-2.3.7-old/src/widgets/qlistview.cpp qt-2.3.7/src/widgets/qlistview.cpp
20 --- qt-2.3.7-old/src/widgets/qlistview.cpp2004-07-23 15:22:56.000000000 +0200
21 +++ qt-2.3.7/src/widgets/qlistview.cpp2004-07-23 15:38:13.000000000 +0200
22@@ -4968,9 +4968,9 @@
23 l = l->childItem ? l->childItem : l->siblingItem;
24
25 if ( l && l->height() )
26 -s.setHeight( s.height() + 10 * l->height() );
27- else
28 -s.setHeight( s.height() + 140 );
29 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
30+ else // ^v much too big for handhelds
31 +s.setHeight( s.height() + 30 /*140*/ );
32
33 if ( s.width() > s.height() * 3 )
34 s.setHeight( s.width() / 3 );
35diff -ur qt-2.3.7-old/src/widgets/qtoolbutton.cpp qt-2.3.7/src/widgets/qtoolbutton.cpp
36 --- qt-2.3.7-old/src/widgets/qtoolbutton.cpp2004-07-23 15:22:56.000000000 +0200
37 +++ qt-2.3.7/src/widgets/qtoolbutton.cpp2004-07-23 15:38:13.000000000 +0200
38@@ -230,7 +230,7 @@
39 else
40 QToolTip::add( this, textLabel );
41 }
42 -#endif
43+#endif
44 }
45
46
47@@ -324,12 +324,12 @@
48 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
49 w = pm.width();
50 h = pm.height();
51 -if ( w < 32 )
52 - w = 32;
53 -if ( h < 32 )
54 - h = 32;
55 +if ( w < 24 )
56 + w = 24;
57 +if ( h < 24 )
58 + h = 24;
59 } else {
60 -w = h = 16;
61 +w = h = 14;
62 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
63 w = pm.width();
64 h = pm.height();
diff --git a/qt/qt-2.3.7.patch/qte237-all-macosx.patch b/qt/qt-2.3.7.patch/qte237-all-macosx.patch
deleted file mode 100644
index 8e42396..0000000
--- a/qt/qt-2.3.7.patch/qte237-all-macosx.patch
+++ b/dev/null
@@ -1,1262 +0,0 @@
1Binary files qt-2.3.7/bin/moc and qte-2.3.7/bin/moc differ
2Binary files qt-2.3.7/bin/uic and qte-2.3.7/bin/uic differ
3diff -uNr --exclude-from=./diff_ignore qt-2.3.7/configs/darwin-generic-g++-shared qte-2.3.7/configs/darwin-generic-g++-shared
4 --- qt-2.3.7/configs/darwin-generic-g++-sharedThu Jan 1 01:00:00 1970
5 +++ qte-2.3.7/configs/darwin-generic-g++-sharedMon Oct 27 14:27:25 2003
6@@ -0,0 +1,98 @@
7+# Compiling
8 +INTERFACE_DECL_PATH = .
9 +SYSCONF_CXX = g++
10 +SYSCONF_CC = gcc
11 +DASHCROSS =
12+
13+# Compiling with support libraries
14 +SYSCONF_CXXFLAGS_X11= -I/usr/X11R6/include
15 +SYSCONF_CXXFLAGS_QT= -I$(QTDIR)/include
16 +SYSCONF_CXXFLAGS_QTOPIA= -I$(QPEDIR)/include
17 +SYSCONF_CXXFLAGS_OPENGL= -I/usr/X11R6/include
18+
19+# Compiling YACC output
20+SYSCONF_CXXFLAGS_YACC = -Wno-unused -Wno-parentheses
21+
22+# Linking with support libraries
23 +SYSCONF_RPATH_X11= -L/usr/X11R6/lib
24 +SYSCONF_RPATH_QT= -L$(QTDIR)/lib
25 +SYSCONF_RPATH_QTOPIA= -L$(QPEDIR)/lib
26 +SYSCONF_RPATH_OPENGL= -L/usr/X11R6/lib
27+
28+# Linking with support libraries
29+# X11
30 +SYSCONF_LFLAGS_X11= -L/usr/X11R6/lib
31 +SYSCONF_LIBS_X11=
32+# Qt, Qt+OpenGL
33 +SYSCONF_LFLAGS_QT= -L$(QTDIR)/lib
34 +SYSCONF_LFLAGS_QTOPIA= -L$(QPEDIR)/lib
35 +SYSCONF_LIBS_QT = -lqte$(QT_THREAD_SUFFIX)
36 +SYSCONF_LIBS_QT_OPENGL=
37 +SYSCONF_LIBS_QTOPIA= -lqtopia
38+# OpenGL
39 +SYSCONF_LFLAGS_OPENGL= -L/usr/X11R6/lib
40 +SYSCONF_LIBS_OPENGL= -lGLU -lGL -lXmu
41+# Yacc
42 +SYSCONF_LIBS_YACC=
43+
44+# Linking applications
45 +SYSCONF_LINK = g++
46 +SYSCONF_LFLAGS =
47 +SYSCONF_LIBS =
48+
49+# Link flags for shared objects
50 +SYSCONF_LFLAGS_SHOBJ= -dynamiclib
51+
52+# Flags for threading
53 +SYSCONF_CFLAGS_THREAD= -pthread -D_THREAD_SAFE
54 +SYSCONF_CXXFLAGS_THREAD= -pthread -D_THREAD_SAFE
55 +SYSCONF_LFLAGS_THREAD= -pthread
56 +SYSCONF_LIBS_THREAD=
57+
58+# Meta-object compiler
59 +SYSCONF_MOC = $(QTDIR)/bin/moc
60+
61+# UI compiler
62 +SYSCONF_UIC = $(QTDIR)/bin/uic
63+
64+# Linking shared libraries
65+# - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2
66+# - Place target in $(DESTDIR) - which has a trailing /
67+# - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH)
68+#
69 +SYSCONF_LINK_SHLIB= g++
70 +SYSCONF_LINK_TARGET_SHARED= lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN).$(VER_PATCH)
71 +SYSCONF_LINK_LIB_SHARED= $(SYSCONF_LINK_SHLIB) -dynamiclib \
72 + $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \
73 + $(OBJECTS) $(OBJMOC) $(LIBS) && \
74 + mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \
75 + cd $(DESTDIR) && \
76 + rm -f lib$(TARGET).dylib lib$(TARGET).dylib.$(VER_MAJ) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN); \
77 + ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib; \
78 + ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ); \
79 + ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN)
80+
81+# Linking static libraries
82+# - Build the $(TARGET) library, eg. lib$(TARGET).a
83+# - Place target in $(DESTDIR) - which has a trailing /
84+#
85 +SYSCONF_AR = ar cqs
86+SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a
87 +SYSCONF_LINK_LIB_STATIC= rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \
88 + $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC)
89+# Compiling application source
90 +SYSCONF_CXXFLAGS= -pipe -fno-exceptions -DQWS -fno-rtti -fno-exceptions -DQT_NO_QWS_LINUXFB -DQT_NO_QWS_TRANSFORMED -O0 -Wall -W -DNO_DEBUG
91 +SYSCONF_CFLAGS = -pipe -fno-exceptions -O2 -Wall -W
92+# Default link type (static linking is still be used where required)
93 +SYSCONF_LINK_LIB= $(SYSCONF_LINK_LIB_SHARED)
94 +SYSCONF_LINK_TARGET= $(SYSCONF_LINK_TARGET_SHARED)
95+# Compiling library source
96 +SYSCONF_CXXFLAGS_LIB= -fPIC
97 +SYSCONF_CFLAGS_LIB= -fPIC
98+# Compiling shared-object source
99 +SYSCONF_CXXFLAGS_SHOBJ= -fPIC
100 +SYSCONF_CFLAGS_SHOBJ= -fPIC
101+# Linking Qt
102 +SYSCONF_LIBS_QTLIB= $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT)
103+# Linking Qt applications
104 +SYSCONF_LIBS_QTAPP=
105diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qapplication.h qte-2.3.7/include/qapplication.h
106 --- qt-2.3.7/include/qapplication.hThu Jul 17 03:20:25 2003
107 +++ qte-2.3.7/include/qapplication.hMon Oct 27 14:21:28 2003
108@@ -61,6 +61,10 @@
109 class QSemaphore;
110 #endif
111
112+#if !defined( QT_WEAK_SYMBOL )
113+#define QT_WEAK_SYMBOL
114+#endif
115+
116 // REMOVE IN 3.0 (just here for moc source compatibility)
117 #define QNonBaseApplication QApplication
118
119@@ -85,7 +89,10 @@
120
121 #ifndef QT_NO_STYLE
122 static QStyle &style();
123 - static void setStyle( QStyle* );
124 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
125+private:
126 +static void setStyle_NonWeak( QStyle* );
127+public:
128 #endif
129 #if 1/* OBSOLETE */
130 enum ColorMode { NormalColors, CustomColors };
131@@ -106,11 +113,19 @@
132 #ifndef QT_NO_PALETTE
133 static QPalette palette( const QWidget* = 0 );
134 static void setPalette( const QPalette &, bool informWidgets=FALSE,
135 + const char* className = 0 ) QT_WEAK_SYMBOL;
136+private:
137 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
138 const char* className = 0 );
139+public:
140 #endif
141 static QFont font( const QWidget* = 0 );
142 static void setFont( const QFont &, bool informWidgets=FALSE,
143 + const char* className = 0 ) QT_WEAK_SYMBOL;
144+private:
145 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
146 const char* className = 0 );
147 +public:
148 static QFontMetrics fontMetrics();
149
150 QWidget *mainWidget() const;
151@@ -207,7 +222,10 @@
152 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
153 #ifndef QT_NO_QWS_MANAGER
154 static QWSDecoration &qwsDecoration();
155- static void qwsSetDecoration( QWSDecoration *);
156+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
157+private:
158+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
159+public:
160 #endif
161 #endif
162
163diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qconfig-qpe.h qte-2.3.7/include/qconfig-qpe.h
164 --- qt-2.3.7/include/qconfig-qpe.hThu Jan 1 01:00:00 1970
165 +++ qte-2.3.7/include/qconfig-qpe.hSun Dec 14 12:48:43 2003
166@@ -0,0 +1,100 @@
167+/**********************************************************************
168+** Copyright (C) 2000 Trolltech AS. All rights reserved.
169+**
170+** This file is part of Qtopia Environment.
171+**
172+** This file may be distributed and/or modified under the terms of the
173+** GNU General Public License version 2 as published by the Free Software
174+** Foundation and appearing in the file LICENSE.GPL included in the
175+** packaging of this file.
176+**
177+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
178+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
179+**
180+** See http://www.trolltech.com/gpl/ for GPL licensing information.
181+**
182+** Contact info@trolltech.com if any conditions of this licensing are
183+** not clear to you.
184+**
185+**********************************************************************/
186+#ifndef QT_H
187+#endif // QT_H
188+
189+// Empty leaves all features enabled. See doc/html/features.html for choices.
190+
191+// Note that disabling some features will produce a libqt that is not
192+// compatible with other libqt builds. Such modifications are only
193+// supported on Qt/Embedded where reducing the library size is important
194+// and where the application-suite is often a fixed set.
195+
196+#ifndef QT_DLL
197+#define QT_DLL // Internal
198+#endif
199+
200+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
201+# define QT_NO_QWS_CURSOR
202+# define QT_NO_QWS_MOUSE_AUTO
203+#endif
204+#ifndef QT_NO_CODECS
205+#define QT_NO_CODECS
206+#endif
207+#define QT_NO_UNICODETABLES
208+//#define QT_NO_IMAGEIO_BMP
209+#define QT_NO_IMAGEIO_PPM
210+//#define QT_NO_ASYNC_IO
211+//#define QT_NO_ASYNC_IMAGE_IO
212+#define QT_NO_FREETYPE
213+#define QT_NO_BDF
214+//#define QT_NO_FONTDATABASE
215+#define QT_NO_DRAGANDDROP
216+//#define QT_NO_CLIPBOARD
217+#define QT_NO_PROPERTIES
218+#define QT_NO_NETWORKPROTOCOL
219+
220+#define QT_NO_IMAGE_TEXT
221+
222+//#define QT_NO_TOOLTIP
223+#define QT_NO_COLORNAMES
224+#define QT_NO_TRANSFORMATIONS
225+#define QT_NO_TRANSLATION_BUILDER
226+#define QT_NO_COMPLEXTEXT
227+#define QT_NO_PRINTER
228+#define QT_NO_PICTURE
229+//#define QT_NO_ICONVIEW
230+#define QT_NO_DIAL
231+#define QT_NO_SIZEGRIP
232+#define QT_NO_WORKSPACE
233+//#define QT_NO_TABLE
234+//#define QT_NO_ACTION
235+//#define QT_NO_SETTINGS
236+#define QT_NO_STYLE_POCKETPC
237+#ifndef QT_NO_STYLE_AQUA
238+# define QT_NO_STYLE_AQUA
239+#endif
240+#define QT_NO_STYLE_MOTIF
241+#define QT_NO_STYLE_PLATINUM
242+#define QT_NO_FILEDIALOG
243+#define QT_NO_FONTDIALOG
244+#define QT_NO_PRINTDIALOG
245+#define QT_NO_COLORDIALOG
246+#define QT_NO_INPUTDIALOG
247+//#define QT_NO_MESSAGEBOX
248+#define QT_NO_PROGRESSDIALOG
249+//#define QT_NO_TABDIALOG
250+#define QT_NO_WIZARD
251+#define QT_NO_EFFECTS
252+//#define QT_NO_COMPONENT
253+#define QT_NO_DOM
254+#define QT_NO_SEMIMODAL
255+//#define QT_NO_PROGRESSBAR
256+#define QT_NO_SPLITTER
257+
258+//#define QT_NO_QWS_SAVEFONTS
259+//#define QT_NO_QWS_PROPERTIES
260+
261+#define QT_NO_QWS_BEOS_WM_STYLE
262+#define QT_NO_QWS_KDE2_WM_STYLE
263+#define QT_NO_QWS_KDE_WM_STYLE
264+#define QT_NO_QWS_WINDOWS_WM_STYLE
265+
266+#define QT_NO_SOUND
267diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qconfig.h qte-2.3.7/include/qconfig.h
268 --- qt-2.3.7/include/qconfig.hFri Jan 26 14:43:06 2001
269 +++ qte-2.3.7/include/qconfig.hThu Dec 11 12:54:20 2003
270@@ -1,3 +1,26 @@
271+// Copied from qconfig-qpe.h
272+/**********************************************************************
273+** Copyright (C) 2000 Trolltech AS. All rights reserved.
274+**
275+** This file is part of Qtopia Environment.
276+**
277+** This file may be distributed and/or modified under the terms of the
278+** GNU General Public License version 2 as published by the Free Software
279+** Foundation and appearing in the file LICENSE.GPL included in the
280+** packaging of this file.
281+**
282+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
283+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
284+**
285+** See http://www.trolltech.com/gpl/ for GPL licensing information.
286+**
287+** Contact info@trolltech.com if any conditions of this licensing are
288+** not clear to you.
289+**
290+**********************************************************************/
291+#ifndef QT_H
292+#endif // QT_H
293+
294 // Empty leaves all features enabled. See doc/html/features.html for choices.
295
296 // Note that disabling some features will produce a libqt that is not
297@@ -8,3 +31,71 @@
298 #ifndef QT_DLL
299 #define QT_DLL // Internal
300 #endif
301+
302+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
303+# define QT_NO_QWS_CURSOR
304+# define QT_NO_QWS_MOUSE_AUTO
305+#endif
306+#ifndef QT_NO_CODECS
307+#define QT_NO_CODECS
308+#endif
309+#define QT_NO_UNICODETABLES
310+//#define QT_NO_IMAGEIO_BMP
311+#define QT_NO_IMAGEIO_PPM
312+//#define QT_NO_ASYNC_IO
313+//#define QT_NO_ASYNC_IMAGE_IO
314+#define QT_NO_FREETYPE
315+#define QT_NO_BDF
316+//#define QT_NO_FONTDATABASE
317+#define QT_NO_DRAGANDDROP
318+//#define QT_NO_CLIPBOARD
319+#define QT_NO_PROPERTIES
320+#define QT_NO_NETWORKPROTOCOL
321+
322+#define QT_NO_IMAGE_TEXT
323+
324+//#define QT_NO_TOOLTIP
325+#define QT_NO_COLORNAMES
326+#define QT_NO_TRANSFORMATIONS
327+#define QT_NO_TRANSLATION_BUILDER
328+#define QT_NO_COMPLEXTEXT
329+#define QT_NO_PRINTER
330+#define QT_NO_PICTURE
331+//#define QT_NO_ICONVIEW
332+#define QT_NO_DIAL
333+#define QT_NO_SIZEGRIP
334+#define QT_NO_WORKSPACE
335+//#define QT_NO_TABLE
336+//#define QT_NO_ACTION
337+//#define QT_NO_SETTINGS
338+#define QT_NO_STYLE_POCKETPC
339+#ifndef QT_NO_STYLE_AQUA
340+# define QT_NO_STYLE_AQUA
341+#endif
342+#define QT_NO_STYLE_MOTIF
343+#define QT_NO_STYLE_PLATINUM
344+#define QT_NO_FILEDIALOG
345+#define QT_NO_FONTDIALOG
346+#define QT_NO_PRINTDIALOG
347+#define QT_NO_COLORDIALOG
348+#define QT_NO_INPUTDIALOG
349+//#define QT_NO_MESSAGEBOX
350+#define QT_NO_PROGRESSDIALOG
351+//#define QT_NO_TABDIALOG
352+#define QT_NO_WIZARD
353+#define QT_NO_EFFECTS
354+//#define QT_NO_COMPONENT
355+#define QT_NO_DOM
356+#define QT_NO_SEMIMODAL
357+//#define QT_NO_PROGRESSBAR
358+#define QT_NO_SPLITTER
359+
360+//#define QT_NO_QWS_SAVEFONTS
361+//#define QT_NO_QWS_PROPERTIES
362+
363+#define QT_NO_QWS_BEOS_WM_STYLE
364+#define QT_NO_QWS_KDE2_WM_STYLE
365+#define QT_NO_QWS_KDE_WM_STYLE
366+#define QT_NO_QWS_WINDOWS_WM_STYLE
367+
368+#define QT_NO_SOUND
369\ No newline at end of file
370diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qfontdatabase.h qte-2.3.7/include/qfontdatabase.h
371 --- qt-2.3.7/include/qfontdatabase.hThu Jul 17 03:20:25 2003
372 +++ qte-2.3.7/include/qfontdatabase.hMon Oct 27 14:21:28 2003
373@@ -59,6 +59,10 @@
374 class QDiskFont;
375 #endif
376
377+#if !defined( QT_WEAK_SYMBOL )
378+#define QT_WEAK_SYMBOL
379+#endif
380+
381 class QFontDatabasePrivate;
382
383 class Q_EXPORT QFontDatabase
384@@ -67,9 +71,16 @@
385 QFontDatabase();
386
387 QStringList families( bool onlyForLocale = TRUE ) const;
388+
389+
390 QValueList<int> pointSizes( const QString &family,
391 const QString &style = QString::null,
392 - const QString &charSet = QString::null );
393 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
394+private:
395+ QValueList<int> pointSizes_NonWeak( const QString &family,
396 + const QString &style,
397 + const QString &charSet );
398+public:
399 QStringList styles( const QString &family,
400 const QString &charSet = QString::null ) const;
401 QStringList charSets( const QString &familyName,
402diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qgifimageformat_p.h qte-2.3.7/include/qgifimageformat_p.h
403 --- qt-2.3.7/include/qgifimageformat_p.hThu Jul 17 03:20:24 2003
404 +++ qte-2.3.7/include/qgifimageformat_p.hThu Jan 1 01:00:00 1970
405@@ -1,56 +0,0 @@
406-/****************************************************************************
407-** $Id$
408-**
409-** Implementation of gif image/movie loading classes
410-**
411-** Created : 970617
412-**
413-** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
414-**
415-** This file is part of the kernel module of the Qt GUI Toolkit.
416-**
417-** This file may be distributed under the terms of the Q Public License
418-** as defined by Trolltech AS of Norway and appearing in the file
419-** LICENSE.QPL included in the packaging of this file.
420-**
421-** This file may be distributed and/or modified under the terms of the
422-** GNU General Public License version 2 as published by the Free Software
423-** Foundation and appearing in the file LICENSE.GPL included in the
424-** packaging of this file.
425-**
426-** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
427-** licenses may use this file in accordance with the Qt Commercial License
428-** Agreement provided with the Software.
429-**
430-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
431-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
432-**
433-** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
434-** information about Qt Commercial License Agreements.
435-** See http://www.trolltech.com/qpl/ for QPL licensing information.
436-** See http://www.trolltech.com/gpl/ for GPL licensing information.
437-**
438-** Contact info@trolltech.com if any conditions of this licensing are
439-** not clear to you.
440-**
441-**********************************************************************/
442-
443-#ifndef QT_H
444-#include "qasyncimageio.h"
445-#include "qgif.h"
446-#endif // QT_H
447-
448-#ifndef QT_NO_ASYNC_IMAGE_IO
449-
450-// See qgif.h for important information regarding this option
451-#if defined(QT_BUILTIN_GIF_READER) && QT_BUILTIN_GIF_READER == 1
452-
453-class Q_EXPORT QGIFFormatType : public QImageFormatType
454-{
455- QImageFormat* decoderFor(const uchar* buffer, int length);
456- const char* formatName() const;
457-};
458-
459-#endif // QT_BUILTIN_GIF_READER
460-
461-#endif // QT_NO_ASYNC_IMAGE_IO
462diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qmodules.h qte-2.3.7/include/qmodules.h
463 --- qt-2.3.7/include/qmodules.hFri Aug 31 17:00:56 2001
464 +++ qte-2.3.7/include/qmodules.hThu Dec 11 12:53:57 2003
465@@ -1,14 +1,12 @@
466-#ifndef QT_H
467-#endif // QT_H
468-
469+// These modules are licensed to you
470 #define QT_MODULE_TOOLS
471 #define QT_MODULE_KERNEL
472 #define QT_MODULE_WIDGETS
473 #define QT_MODULE_DIALOGS
474-
475 #define QT_MODULE_ICONVIEW
476 #define QT_MODULE_WORKSPACE
477-#define QT_MODULE_TABLE
478+#define QT_MODULE_NETWORK
479 #define QT_MODULE_CANVAS
480+#define QT_MODULE_TABLE
481 #define QT_MODULE_XML
482-#define QT_MODULE_NETWORK
483+#define QT_MODULE_OPENGL
484Binary files qt-2.3.7/lib/libqte.dylib and qte-2.3.7/lib/libqte.dylib differ
485Binary files qt-2.3.7/lib/libqte.dylib.2 and qte-2.3.7/lib/libqte.dylib.2 differ
486Binary files qt-2.3.7/lib/libqte.dylib.2.3 and qte-2.3.7/lib/libqte.dylib.2.3 differ
487Binary files qt-2.3.7/lib/libqte.dylib.2.3.7 and qte-2.3.7/lib/libqte.dylib.2.3.7 differ
488diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qapplication.cpp qte-2.3.7/src/kernel/qapplication.cpp
489 --- qt-2.3.7/src/kernel/qapplication.cppThu Jul 17 03:20:25 2003
490 +++ qte-2.3.7/src/kernel/qapplication.cppMon Oct 27 14:21:28 2003
491@@ -35,6 +35,8 @@
492 **
493 **********************************************************************/
494
495 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
496+
497 #include "qobjectlist.h"
498 #include "qobjectdict.h"
499 #include "qapplication.h"
500@@ -933,11 +935,16 @@
501 #ifndef QT_NO_STYLE
502 void QApplication::setStyle( QStyle *style )
503 {
504 +setStyle_NonWeak ( style );
505+}
506+
507+void QApplication::setStyle_NonWeak( QStyle *style )
508+{
509 QStyle* old = app_style;
510- app_style = style;
511
512 if ( startingUp() ) {
513 delete old;
514 +app_style = style;
515 return;
516 }
517
518@@ -958,6 +965,8 @@
519 old->unPolish( qApp );
520 }
521
522+ app_style = style;
523+
524 // take care of possible palette requirements of certain gui
525 // styles. Do it before polishing the application since the style
526 // might call QApplication::setStyle() itself
527@@ -1184,13 +1193,30 @@
528 \sa QWidget::setPalette(), palette(), QStyle::polish()
529 */
530
531-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
532+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
533 + const char* className )
534+{
535 +setPalette_NonWeak ( palette, informWidgets, className );
536+}
537+
538+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
539 const char* className )
540 {
541 QPalette pal = palette;
542 #ifndef QT_NO_STYLE
543- if ( !startingUp() )
544+ if ( !startingUp() ) {
545 qApp->style().polish( pal );// NB: non-const reference
546 +if ( className ) {
547 + // if we just polished a class specific palette (this normally
548 + // only called by qt_fix_tooltips - see below), we better re-
549 + // polish the global palette. Some styles like liquid can get
550 + // confused, because they can not detect if the polished palette
551 + // is the global one or only a class specific one.
552 + // (liquid uses this palette to calculate blending pixmaps)
553 + QPalette p = qApp-> palette ( );
554 + qApp->style().polish ( p );
555 +}
556+ }
557 #endif
558 bool all = FALSE;
559 if ( !className ) {
560@@ -1273,6 +1299,12 @@
561 */
562
563 void QApplication::setFont( const QFont &font, bool informWidgets,
564 + const char* className )
565+{
566 +setFont_NonWeak ( font, informWidgets, className );
567+}
568+
569+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
570 const char* className )
571 {
572 bool all = FALSE;
573diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qapplication.h qte-2.3.7/src/kernel/qapplication.h
574 --- qt-2.3.7/src/kernel/qapplication.hThu Jul 17 03:20:25 2003
575 +++ qte-2.3.7/src/kernel/qapplication.hMon Oct 27 14:21:28 2003
576@@ -61,6 +61,10 @@
577 class QSemaphore;
578 #endif
579
580+#if !defined( QT_WEAK_SYMBOL )
581+#define QT_WEAK_SYMBOL
582+#endif
583+
584 // REMOVE IN 3.0 (just here for moc source compatibility)
585 #define QNonBaseApplication QApplication
586
587@@ -85,7 +89,10 @@
588
589 #ifndef QT_NO_STYLE
590 static QStyle &style();
591 - static void setStyle( QStyle* );
592 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
593+private:
594 +static void setStyle_NonWeak( QStyle* );
595+public:
596 #endif
597 #if 1/* OBSOLETE */
598 enum ColorMode { NormalColors, CustomColors };
599@@ -106,11 +113,19 @@
600 #ifndef QT_NO_PALETTE
601 static QPalette palette( const QWidget* = 0 );
602 static void setPalette( const QPalette &, bool informWidgets=FALSE,
603 + const char* className = 0 ) QT_WEAK_SYMBOL;
604+private:
605 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
606 const char* className = 0 );
607+public:
608 #endif
609 static QFont font( const QWidget* = 0 );
610 static void setFont( const QFont &, bool informWidgets=FALSE,
611 + const char* className = 0 ) QT_WEAK_SYMBOL;
612+private:
613 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
614 const char* className = 0 );
615 +public:
616 static QFontMetrics fontMetrics();
617
618 QWidget *mainWidget() const;
619@@ -207,7 +222,10 @@
620 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
621 #ifndef QT_NO_QWS_MANAGER
622 static QWSDecoration &qwsDecoration();
623- static void qwsSetDecoration( QWSDecoration *);
624+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
625+private:
626+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
627+public:
628 #endif
629 #endif
630
631diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qapplication_qws.cpp qte-2.3.7/src/kernel/qapplication_qws.cpp
632 --- qt-2.3.7/src/kernel/qapplication_qws.cppThu Jul 17 03:20:25 2003
633 +++ qte-2.3.7/src/kernel/qapplication_qws.cppMon Oct 27 14:21:28 2003
634@@ -2804,6 +2804,11 @@
635 */
636 void QApplication::qwsSetDecoration( QWSDecoration *d )
637 {
638 +qwsSetDecoration_NonWeak ( d );
639+}
640+
641+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
642+{
643 if ( d ) {
644 delete qws_decoration;
645 qws_decoration = d;
646diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qfontdatabase.cpp qte-2.3.7/src/kernel/qfontdatabase.cpp
647 --- qt-2.3.7/src/kernel/qfontdatabase.cppThu Jul 17 03:20:25 2003
648 +++ qte-2.3.7/src/kernel/qfontdatabase.cppMon Oct 27 14:21:28 2003
649@@ -35,6 +35,8 @@
650 **
651 **********************************************************************/
652
653+#define QT_WEAK_SYMBOL __attribute__(( weak ))
654+
655 #include "qfontdatabase.h"
656
657 #ifndef QT_NO_FONTDATABASE
658@@ -2421,6 +2423,13 @@
659 */
660
661 QValueList<int> QFontDatabase::pointSizes( const QString &family,
662+ const QString &style,
663+ const QString &charSet )
664+{
665 +return pointSizes_NonWeak ( family, style, charSet );
666+}
667+
668+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
669 const QString &style,
670 const QString &charSet )
671 {
672diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qfontdatabase.h qte-2.3.7/src/kernel/qfontdatabase.h
673 --- qt-2.3.7/src/kernel/qfontdatabase.hThu Jul 17 03:20:25 2003
674 +++ qte-2.3.7/src/kernel/qfontdatabase.hMon Oct 27 14:21:28 2003
675@@ -59,6 +59,10 @@
676 class QDiskFont;
677 #endif
678
679+#if !defined( QT_WEAK_SYMBOL )
680+#define QT_WEAK_SYMBOL
681+#endif
682+
683 class QFontDatabasePrivate;
684
685 class Q_EXPORT QFontDatabase
686@@ -67,9 +71,16 @@
687 QFontDatabase();
688
689 QStringList families( bool onlyForLocale = TRUE ) const;
690+
691+
692 QValueList<int> pointSizes( const QString &family,
693 const QString &style = QString::null,
694 - const QString &charSet = QString::null );
695 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
696+private:
697+ QValueList<int> pointSizes_NonWeak( const QString &family,
698 + const QString &style,
699 + const QString &charSet );
700+public:
701 QStringList styles( const QString &family,
702 const QString &charSet = QString::null ) const;
703 QStringList charSets( const QString &familyName,
704diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qgfx_qws.cpp qte-2.3.7/src/kernel/qgfx_qws.cpp
705 --- qt-2.3.7/src/kernel/qgfx_qws.cppThu Jul 17 03:20:25 2003
706 +++ qte-2.3.7/src/kernel/qgfx_qws.cppMon Oct 27 14:27:25 2003
707@@ -32,7 +32,7 @@
708 #include "qgfx_qws.h"
709
710 #include <stdio.h>
711-#include <dlfcn.h>
712+//#include <dlfcn.h>
713 #include <sys/types.h>
714 #include <dirent.h>
715 #include <stdlib.h>
716diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qgfxraster_qws.cpp qte-2.3.7/src/kernel/qgfxraster_qws.cpp
717 --- qt-2.3.7/src/kernel/qgfxraster_qws.cppThu Jul 17 03:20:25 2003
718 +++ qte-2.3.7/src/kernel/qgfxraster_qws.cppMon Oct 27 14:27:25 2003
719@@ -75,7 +75,11 @@
720 # if __BYTE_ORDER == __BIG_ENDIAN
721 # define QWS_BIG_ENDIAN
722 # endif
723+#elif defined(__APPLE__)
724+# define QWS_BIG_ENDIAN
725 #endif
726+// AJ: the above (test for __APPLE__) is very hacky, but I can't
727+// think of something better at the moment.
728
729 // Pull this private function in from qglobal.cpp
730 extern unsigned int qt_int_sqrt( unsigned int n );
731@@ -3770,6 +3774,19 @@
732 b = srcval & 0xff;
733
734 unsigned char * tmp=(unsigned char *)&alphabuf[loopc];
735+# ifdef QWS_BIG_ENDIAN
736 + if(av==255) {
737 + // Do nothing - we already have source values in r,g,b
738 + } else if(av==0) {
739 + r = *(tmp+1);
740 + g = *(tmp+2);
741 + b = *(tmp+3);
742 + } else {
743 + r = ((r-*(tmp+1)) * av) / 256 + *(tmp+1);
744 + g = ((g-*(tmp+2)) * av) / 256 + *(tmp+2);
745 + b = ((b-*(tmp+3)) * av) / 256 + *(tmp+3);
746 + }
747+# else
748 if(av==255) {
749 // Do nothing - we already have source values in r,g,b
750 } else if(av==0) {
751@@ -3781,6 +3798,7 @@
752 g = ((g-*(tmp+1)) * av) / 256 + *(tmp+1);
753 b = ((b-*(tmp+0)) * av) / 256 + *(tmp+0);
754 }
755+# endif
756 *(alphaptr++) = (r << 16) | (g << 8) | b;
757 }
758
759@@ -4204,7 +4222,7 @@
760
761 } else if ( depth == 1 ) {
762 if (srctype==SourceImage) {
763 - static int warn;
764 + static int warn = 0;
765 if ( warn++ < 5 )
766 qDebug( "bitmap alpha-image not implemented" );
767 hImageLineUnclipped( x1, x2, l, srcdata, FALSE );
768@@ -4237,7 +4255,7 @@
769 setAlphaType(IgnoreAlpha);
770 if ( w <= 0 || h <= 0 || !ncliprect ) return;
771 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
772-#ifdef QWS_EXPERIMENTAL_FASTPATH
773+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
774 // ### fix for 8bpp
775 // This seems to be reliable now, at least for 16bpp
776
777diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qkeyboard_qws.cpp qte-2.3.7/src/kernel/qkeyboard_qws.cpp
778 --- qt-2.3.7/src/kernel/qkeyboard_qws.cppThu Jul 17 03:20:25 2003
779 +++ qte-2.3.7/src/kernel/qkeyboard_qws.cppMon Oct 27 14:42:11 2003
780@@ -69,7 +69,7 @@
781 #if !defined(_OS_QNX6_)
782
783 #include <termios.h>
784-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
785+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
786 #include <sys/kd.h>
787 #include <sys/vt.h>
788 #endif
789@@ -468,10 +468,12 @@
790 void QWSPC101KeyboardHandler::restoreLeds()
791 {
792 char leds;
793+#if !defined(_OS_MACX_)
794 ioctl(0, KDGETLED, &leds);
795 leds = leds & ~LED_CAP;
796 if ( caps ) leds |= LED_CAP;
797 ioctl(0, KDSETLED, leds);
798+#endif
799 }
800
801 class QWSTtyKeyboardHandler : public QWSPC101KeyboardHandler
802@@ -547,7 +549,7 @@
803
804 static void vtSwitchHandler(int /*sig*/)
805 {
806-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
807+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
808 if (vtActive) {
809 qwsServer->enablePainting(false);
810 qt_screen->save();
811@@ -880,7 +882,7 @@
812 if (term && !release) {
813 ctrl = false;
814 alt = false;
815-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
816+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
817 ioctl(kbdFD, VT_ACTIVATE, term);
818 #endif
819 return;
820@@ -1031,7 +1033,7 @@
821 struct termios termdata;
822 tcgetattr( kbdFD, &termdata );
823
824-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
825+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
826 ioctl(kbdFD, KDSKBMODE, K_RAW);
827 #endif
828
829@@ -1047,7 +1049,7 @@
830
831 signal(VTSWITCHSIG, vtSwitchHandler);
832
833-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
834+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
835 struct vt_mode vtMode;
836 ioctl(kbdFD, VT_GETMODE, &vtMode);
837
838@@ -1068,7 +1070,7 @@
839 {
840 if (kbdFD >= 0)
841 {
842-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
843+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
844 ioctl(kbdFD, KDSKBMODE, K_XLATE);
845 #endif
846 tcsetattr(kbdFD, TCSANOW, &origTermData);
847diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qkeyboard_qws.cpp.rej qte-2.3.7/src/kernel/qkeyboard_qws.cpp.rej
848 --- qt-2.3.7/src/kernel/qkeyboard_qws.cpp.rejThu Jan 1 01:00:00 1970
849 +++ qte-2.3.7/src/kernel/qkeyboard_qws.cpp.rejMon Oct 27 14:27:25 2003
850@@ -0,0 +1,34 @@
851+***************
852+*** 1023,1029 ****
853+ struct termios termdata;
854+ tcgetattr( kbdFD, &termdata );
855+
856+- #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
857+ ioctl(kbdFD, KDSKBMODE, K_RAW);
858+ #endif
859+
860+--- 1023,1029 ----
861+ struct termios termdata;
862+ tcgetattr( kbdFD, &termdata );
863+
864++ #if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
865+ ioctl(kbdFD, KDSKBMODE, K_RAW);
866+ #endif
867+
868+***************
869+*** 1039,1045 ****
870+
871+ signal(VTSWITCHSIG, vtSwitchHandler);
872+
873+- #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
874+ struct vt_mode vtMode;
875+ ioctl(kbdFD, VT_GETMODE, &vtMode);
876+
877+--- 1039,1045 ----
878+
879+ signal(VTSWITCHSIG, vtSwitchHandler);
880+
881++ #if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
882+ struct vt_mode vtMode;
883+ ioctl(kbdFD, VT_GETMODE, &vtMode);
884+
885diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qlock_qws.cpp qte-2.3.7/src/kernel/qlock_qws.cpp
886 --- qt-2.3.7/src/kernel/qlock_qws.cppThu Jul 17 03:20:25 2003
887 +++ qte-2.3.7/src/kernel/qlock_qws.cppMon Oct 27 14:27:25 2003
888@@ -38,7 +38,7 @@
889 #include <errno.h>
890
891 #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) \
892- || defined _OS_FREEBSD_
893+ || defined(_OS_FREEBSD_) || defined(_OS_MACX_)
894 /* union semun is defined by including <sys/sem.h> */
895 #else
896 /* according to X/OPEN we have to define it ourselves */
897diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qwindowsystem_qws.cpp qte-2.3.7/src/kernel/qwindowsystem_qws.cpp
898 --- qt-2.3.7/src/kernel/qwindowsystem_qws.cppThu Jul 17 03:20:26 2003
899 +++ qte-2.3.7/src/kernel/qwindowsystem_qws.cppMon Oct 27 14:27:25 2003
900@@ -844,6 +844,18 @@
901 {
902 }
903
904+static void catchSegvSignal( int )
905+{
906+#ifndef QT_NO_QWS_KEYBOARD
907+ if ( qwsServer )
908 +qwsServer->closeKeyboard();
909+#endif
910+ QWSServer::closedown();
911+ fprintf(stderr, "Segmentation fault.\n");
912+ exit(1);
913+}
914+
915+
916 /*!
917 \class QWSServer qwindowsystem_qws.h
918 \brief Server-specific functionality in Qt/Embedded
919@@ -936,6 +948,7 @@
920 }
921
922 signal(SIGPIPE, ignoreSignal); //we get it when we read
923+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
924 #endif
925 focusw = 0;
926 mouseGrabber = 0;
927@@ -950,7 +963,7 @@
928
929 #ifndef QT_NO_QWS_MULTIPROCESS
930 if ( !geteuid() ) {
931-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
932+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
933 if( mount(0, "/var/shm", "shm", 0, 0) ) {
934 /* This just confuses people with 2.2 kernels
935 if ( errno != EBUSY )
936diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qwsmouse_qws.cpp qte-2.3.7/src/kernel/qwsmouse_qws.cpp
937 --- qt-2.3.7/src/kernel/qwsmouse_qws.cppThu Jul 17 03:20:26 2003
938 +++ qte-2.3.7/src/kernel/qwsmouse_qws.cppMon Oct 27 14:27:25 2003
939@@ -336,7 +336,7 @@
940 tty.c_oflag = 0;
941 tty.c_lflag = 0;
942 tty.c_cflag = f | CREAD | CLOCAL | HUPCL;
943-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
944+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
945 tty.c_line = 0;
946 #endif
947 tty.c_cc[VTIME] = 0;
948@@ -889,7 +889,7 @@
949 tty.c_iflag = IGNBRK | IGNPAR;
950 tty.c_oflag = 0;
951 tty.c_lflag = 0;
952-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
953+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
954 tty.c_line = 0;
955 #endif // _OS_FREEBSD_
956 tty.c_cc[VTIME] = 0;
957Binary files qt-2.3.7/src/moc/moc and qte-2.3.7/src/moc/moc differ
958diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/network/qdns.cpp qte-2.3.7/src/network/qdns.cpp
959 --- qt-2.3.7/src/network/qdns.cppThu Jul 17 03:20:26 2003
960 +++ qte-2.3.7/src/network/qdns.cppSun Nov 16 13:44:27 2003
961@@ -1991,7 +1991,7 @@
962 domains = new QStrList( TRUE );
963 domains->setAutoDelete( TRUE );
964
965- res_init();
966+ // res_init(); (eilers: Caused link problems)
967 int i;
968 // find the name servers to use
969 for( i=0; i < MAXNS && i < _res.nscount; i++ ) {
970diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/tools/qconfig-qpe.h qte-2.3.7/src/tools/qconfig-qpe.h
971 --- qt-2.3.7/src/tools/qconfig-qpe.hThu Jan 1 01:00:00 1970
972 +++ qte-2.3.7/src/tools/qconfig-qpe.hSun Dec 14 12:48:43 2003
973@@ -0,0 +1,100 @@
974+/**********************************************************************
975+** Copyright (C) 2000 Trolltech AS. All rights reserved.
976+**
977+** This file is part of Qtopia Environment.
978+**
979+** This file may be distributed and/or modified under the terms of the
980+** GNU General Public License version 2 as published by the Free Software
981+** Foundation and appearing in the file LICENSE.GPL included in the
982+** packaging of this file.
983+**
984+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
985+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
986+**
987+** See http://www.trolltech.com/gpl/ for GPL licensing information.
988+**
989+** Contact info@trolltech.com if any conditions of this licensing are
990+** not clear to you.
991+**
992+**********************************************************************/
993+#ifndef QT_H
994+#endif // QT_H
995+
996+// Empty leaves all features enabled. See doc/html/features.html for choices.
997+
998+// Note that disabling some features will produce a libqt that is not
999+// compatible with other libqt builds. Such modifications are only
1000+// supported on Qt/Embedded where reducing the library size is important
1001+// and where the application-suite is often a fixed set.
1002+
1003+#ifndef QT_DLL
1004+#define QT_DLL // Internal
1005+#endif
1006+
1007+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
1008+# define QT_NO_QWS_CURSOR
1009+# define QT_NO_QWS_MOUSE_AUTO
1010+#endif
1011+#ifndef QT_NO_CODECS
1012+#define QT_NO_CODECS
1013+#endif
1014+#define QT_NO_UNICODETABLES
1015+//#define QT_NO_IMAGEIO_BMP
1016+#define QT_NO_IMAGEIO_PPM
1017+//#define QT_NO_ASYNC_IO
1018+//#define QT_NO_ASYNC_IMAGE_IO
1019+#define QT_NO_FREETYPE
1020+#define QT_NO_BDF
1021+//#define QT_NO_FONTDATABASE
1022+#define QT_NO_DRAGANDDROP
1023+//#define QT_NO_CLIPBOARD
1024+#define QT_NO_PROPERTIES
1025+#define QT_NO_NETWORKPROTOCOL
1026+
1027+#define QT_NO_IMAGE_TEXT
1028+
1029+//#define QT_NO_TOOLTIP
1030+#define QT_NO_COLORNAMES
1031+#define QT_NO_TRANSFORMATIONS
1032+#define QT_NO_TRANSLATION_BUILDER
1033+#define QT_NO_COMPLEXTEXT
1034+#define QT_NO_PRINTER
1035+#define QT_NO_PICTURE
1036+//#define QT_NO_ICONVIEW
1037+#define QT_NO_DIAL
1038+#define QT_NO_SIZEGRIP
1039+#define QT_NO_WORKSPACE
1040+//#define QT_NO_TABLE
1041+//#define QT_NO_ACTION
1042+//#define QT_NO_SETTINGS
1043+#define QT_NO_STYLE_POCKETPC
1044+#ifndef QT_NO_STYLE_AQUA
1045+# define QT_NO_STYLE_AQUA
1046+#endif
1047+#define QT_NO_STYLE_MOTIF
1048+#define QT_NO_STYLE_PLATINUM
1049+#define QT_NO_FILEDIALOG
1050+#define QT_NO_FONTDIALOG
1051+#define QT_NO_PRINTDIALOG
1052+#define QT_NO_COLORDIALOG
1053+#define QT_NO_INPUTDIALOG
1054+//#define QT_NO_MESSAGEBOX
1055+#define QT_NO_PROGRESSDIALOG
1056+//#define QT_NO_TABDIALOG
1057+#define QT_NO_WIZARD
1058+#define QT_NO_EFFECTS
1059+//#define QT_NO_COMPONENT
1060+#define QT_NO_DOM
1061+#define QT_NO_SEMIMODAL
1062+//#define QT_NO_PROGRESSBAR
1063+#define QT_NO_SPLITTER
1064+
1065+//#define QT_NO_QWS_SAVEFONTS
1066+//#define QT_NO_QWS_PROPERTIES
1067+
1068+#define QT_NO_QWS_BEOS_WM_STYLE
1069+#define QT_NO_QWS_KDE2_WM_STYLE
1070+#define QT_NO_QWS_KDE_WM_STYLE
1071+#define QT_NO_QWS_WINDOWS_WM_STYLE
1072+
1073+#define QT_NO_SOUND
1074diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/tools/qconfig.h qte-2.3.7/src/tools/qconfig.h
1075 --- qt-2.3.7/src/tools/qconfig.hFri Jan 26 14:43:06 2001
1076 +++ qte-2.3.7/src/tools/qconfig.hThu Dec 11 12:54:20 2003
1077@@ -1,3 +1,26 @@
1078+// Copied from qconfig-qpe.h
1079+/**********************************************************************
1080+** Copyright (C) 2000 Trolltech AS. All rights reserved.
1081+**
1082+** This file is part of Qtopia Environment.
1083+**
1084+** This file may be distributed and/or modified under the terms of the
1085+** GNU General Public License version 2 as published by the Free Software
1086+** Foundation and appearing in the file LICENSE.GPL included in the
1087+** packaging of this file.
1088+**
1089+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
1090+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1091+**
1092+** See http://www.trolltech.com/gpl/ for GPL licensing information.
1093+**
1094+** Contact info@trolltech.com if any conditions of this licensing are
1095+** not clear to you.
1096+**
1097+**********************************************************************/
1098+#ifndef QT_H
1099+#endif // QT_H
1100+
1101 // Empty leaves all features enabled. See doc/html/features.html for choices.
1102
1103 // Note that disabling some features will produce a libqt that is not
1104@@ -8,3 +31,71 @@
1105 #ifndef QT_DLL
1106 #define QT_DLL // Internal
1107 #endif
1108+
1109+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
1110+# define QT_NO_QWS_CURSOR
1111+# define QT_NO_QWS_MOUSE_AUTO
1112+#endif
1113+#ifndef QT_NO_CODECS
1114+#define QT_NO_CODECS
1115+#endif
1116+#define QT_NO_UNICODETABLES
1117+//#define QT_NO_IMAGEIO_BMP
1118+#define QT_NO_IMAGEIO_PPM
1119+//#define QT_NO_ASYNC_IO
1120+//#define QT_NO_ASYNC_IMAGE_IO
1121+#define QT_NO_FREETYPE
1122+#define QT_NO_BDF
1123+//#define QT_NO_FONTDATABASE
1124+#define QT_NO_DRAGANDDROP
1125+//#define QT_NO_CLIPBOARD
1126+#define QT_NO_PROPERTIES
1127+#define QT_NO_NETWORKPROTOCOL
1128+
1129+#define QT_NO_IMAGE_TEXT
1130+
1131+//#define QT_NO_TOOLTIP
1132+#define QT_NO_COLORNAMES
1133+#define QT_NO_TRANSFORMATIONS
1134+#define QT_NO_TRANSLATION_BUILDER
1135+#define QT_NO_COMPLEXTEXT
1136+#define QT_NO_PRINTER
1137+#define QT_NO_PICTURE
1138+//#define QT_NO_ICONVIEW
1139+#define QT_NO_DIAL
1140+#define QT_NO_SIZEGRIP
1141+#define QT_NO_WORKSPACE
1142+//#define QT_NO_TABLE
1143+//#define QT_NO_ACTION
1144+//#define QT_NO_SETTINGS
1145+#define QT_NO_STYLE_POCKETPC
1146+#ifndef QT_NO_STYLE_AQUA
1147+# define QT_NO_STYLE_AQUA
1148+#endif
1149+#define QT_NO_STYLE_MOTIF
1150+#define QT_NO_STYLE_PLATINUM
1151+#define QT_NO_FILEDIALOG
1152+#define QT_NO_FONTDIALOG
1153+#define QT_NO_PRINTDIALOG
1154+#define QT_NO_COLORDIALOG
1155+#define QT_NO_INPUTDIALOG
1156+//#define QT_NO_MESSAGEBOX
1157+#define QT_NO_PROGRESSDIALOG
1158+//#define QT_NO_TABDIALOG
1159+#define QT_NO_WIZARD
1160+#define QT_NO_EFFECTS
1161+//#define QT_NO_COMPONENT
1162+#define QT_NO_DOM
1163+#define QT_NO_SEMIMODAL
1164+//#define QT_NO_PROGRESSBAR
1165+#define QT_NO_SPLITTER
1166+
1167+//#define QT_NO_QWS_SAVEFONTS
1168+//#define QT_NO_QWS_PROPERTIES
1169+
1170+#define QT_NO_QWS_BEOS_WM_STYLE
1171+#define QT_NO_QWS_KDE2_WM_STYLE
1172+#define QT_NO_QWS_KDE_WM_STYLE
1173+#define QT_NO_QWS_WINDOWS_WM_STYLE
1174+
1175+#define QT_NO_SOUND
1176\ No newline at end of file
1177diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/tools/qmodules.h qte-2.3.7/src/tools/qmodules.h
1178 --- qt-2.3.7/src/tools/qmodules.hFri Aug 31 17:00:56 2001
1179 +++ qte-2.3.7/src/tools/qmodules.hThu Dec 11 12:53:57 2003
1180@@ -1,14 +1,12 @@
1181-#ifndef QT_H
1182-#endif // QT_H
1183-
1184+// These modules are licensed to you
1185 #define QT_MODULE_TOOLS
1186 #define QT_MODULE_KERNEL
1187 #define QT_MODULE_WIDGETS
1188 #define QT_MODULE_DIALOGS
1189-
1190 #define QT_MODULE_ICONVIEW
1191 #define QT_MODULE_WORKSPACE
1192-#define QT_MODULE_TABLE
1193+#define QT_MODULE_NETWORK
1194 #define QT_MODULE_CANVAS
1195+#define QT_MODULE_TABLE
1196 #define QT_MODULE_XML
1197-#define QT_MODULE_NETWORK
1198+#define QT_MODULE_OPENGL
1199diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/widgets/qcommonstyle.cpp qte-2.3.7/src/widgets/qcommonstyle.cpp
1200 --- qt-2.3.7/src/widgets/qcommonstyle.cppThu Jul 17 03:20:26 2003
1201 +++ qte-2.3.7/src/widgets/qcommonstyle.cppMon Oct 27 14:21:28 2003
1202@@ -566,7 +566,7 @@
1203 bool enabled, bool active )
1204 {
1205 #ifndef QT_NO_MENUBAR
1206-#ifndef QT_NO_STYLE_SGI
1207+#if 1 // #ifndef QT_NO_STYLE_SGI
1208 if (draw_menu_bar_impl != 0) {
1209 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
1210 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
1211diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/widgets/qlistview.cpp qte-2.3.7/src/widgets/qlistview.cpp
1212 --- qt-2.3.7/src/widgets/qlistview.cppThu Jul 17 03:20:26 2003
1213 +++ qte-2.3.7/src/widgets/qlistview.cppMon Oct 27 14:21:28 2003
1214@@ -4968,9 +4968,9 @@
1215 l = l->childItem ? l->childItem : l->siblingItem;
1216
1217 if ( l && l->height() )
1218 -s.setHeight( s.height() + 10 * l->height() );
1219- else
1220 -s.setHeight( s.height() + 140 );
1221 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
1222+ else // ^v much too big for handhelds
1223 +s.setHeight( s.height() + 30 /*140*/ );
1224
1225 if ( s.width() > s.height() * 3 )
1226 s.setHeight( s.width() / 3 );
1227diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/widgets/qtoolbutton.cpp qte-2.3.7/src/widgets/qtoolbutton.cpp
1228 --- qt-2.3.7/src/widgets/qtoolbutton.cppThu Jul 17 03:20:27 2003
1229 +++ qte-2.3.7/src/widgets/qtoolbutton.cppMon Oct 27 14:21:28 2003
1230@@ -230,7 +230,7 @@
1231 else
1232 QToolTip::add( this, textLabel );
1233 }
1234 -#endif
1235+#endif
1236 }
1237
1238
1239@@ -324,12 +324,12 @@
1240 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
1241 w = pm.width();
1242 h = pm.height();
1243 -if ( w < 32 )
1244 - w = 32;
1245 -if ( h < 32 )
1246 - h = 32;
1247 +if ( w < 24 )
1248 + w = 24;
1249 +if ( h < 24 )
1250 + h = 24;
1251 } else {
1252 -w = h = 16;
1253 +w = h = 14;
1254 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
1255 w = pm.width();
1256 h = pm.height();
1257diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src-mt.mk qte-2.3.7/src-mt.mk
1258 --- qt-2.3.7/src-mt.mkThu Jan 1 01:00:00 1970
1259 +++ qte-2.3.7/src-mt.mkThu Dec 11 12:53:57 2003
1260@@ -0,0 +1,2 @@
1261+all:
1262 +@echo "(not building threaded Qt)"
diff --git a/qt/qt-2.3.7.patch/qte237-all.patch b/qt/qt-2.3.7.patch/qte237-all.patch
deleted file mode 100644
index 307e558..0000000
--- a/qt/qt-2.3.7.patch/qte237-all.patch
+++ b/dev/null
@@ -1,1463 +0,0 @@
1
2
3Included patches:
4
5qte237-allowoverride.patch
6qte237-g++-aslinker.patch
7qte237-iconviewspeed.patch
8qte237-adjustsizes.patch
9qte237-encoding.patch
10qte237-keyboard.patch
11qte237-gcc34.patch
12qte237-lefthand.patch
13
14
15
16
17
18
19
20
21
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
24 +++ qt-2.3.7/configs/linux-generic-g++-shared2004-07-23 15:23:12.000000000 +0200
25@@ -36,7 +36,7 @@
26 SYSCONF_LIBS_YACC=
27
28 # Linking applications
29 -SYSCONF_LINK = gcc
30 +SYSCONF_LINK = g++
31 SYSCONF_LFLAGS =
32 SYSCONF_LIBS =
33
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
36 +++ qt-2.3.7/configs/linux-generic-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
37@@ -36,7 +36,7 @@
38 SYSCONF_LIBS_YACC=
39
40 # Linking applications
41 -SYSCONF_LINK = gcc
42 +SYSCONF_LINK = g++
43 SYSCONF_LFLAGS =
44 SYSCONF_LIBS =
45
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
48 +++ qt-2.3.7/configs/linux-generic-g++-static2004-07-23 15:23:12.000000000 +0200
49@@ -36,7 +36,7 @@
50 SYSCONF_LIBS_YACC=
51
52 # Linking applications
53 -SYSCONF_LINK = gcc
54 +SYSCONF_LINK = g++
55 SYSCONF_LFLAGS =
56 SYSCONF_LIBS =
57
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
60 +++ qt-2.3.7/configs/linux-generic-g++-static-debug2004-07-23 15:23:12.000000000 +0200
61@@ -36,7 +36,7 @@
62 SYSCONF_LIBS_YACC=
63
64 # Linking applications
65 -SYSCONF_LINK = gcc
66 +SYSCONF_LINK = g++
67 SYSCONF_LFLAGS =
68 SYSCONF_LIBS =
69
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
72 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared2004-07-23 15:23:12.000000000 +0200
73@@ -36,7 +36,7 @@
74 SYSCONF_LIBS_YACC=
75
76 # Linking applications
77 -SYSCONF_LINK = gcc
78 +SYSCONF_LINK = g++
79 SYSCONF_LFLAGS =
80 SYSCONF_LIBS =
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
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
85@@ -36,7 +36,7 @@
86 SYSCONF_LIBS_YACC=
87
88 # Linking applications
89 -SYSCONF_LINK = gcc
90 +SYSCONF_LINK = g++
91 SYSCONF_LFLAGS =
92 SYSCONF_LIBS =
93
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
96 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static2004-07-23 15:23:12.000000000 +0200
97@@ -36,7 +36,7 @@
98 SYSCONF_LIBS_YACC=
99
100 # Linking applications
101 -SYSCONF_LINK = gcc
102 +SYSCONF_LINK = g++
103 SYSCONF_LFLAGS =
104 SYSCONF_LIBS =
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
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
109@@ -36,7 +36,7 @@
110 SYSCONF_LIBS_YACC=
111
112 # Linking applications
113 -SYSCONF_LINK = gcc
114 +SYSCONF_LINK = g++
115 SYSCONF_LFLAGS =
116 SYSCONF_LIBS =
117
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
120 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared2004-07-23 15:23:12.000000000 +0200
121@@ -36,7 +36,7 @@
122 SYSCONF_LIBS_YACC=
123
124 # Linking applications
125 -SYSCONF_LINK = gcc
126 +SYSCONF_LINK = g++
127 SYSCONF_LFLAGS =
128 SYSCONF_LIBS = -lm
129
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
132 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
133@@ -36,7 +36,7 @@
134 SYSCONF_LIBS_YACC=
135
136 # Linking applications
137 -SYSCONF_LINK = gcc
138 +SYSCONF_LINK = g++
139 SYSCONF_LFLAGS =
140 SYSCONF_LIBS = -lm
141
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
144 +++ qt-2.3.7/configs/linux-x86rtti-g++-static2004-07-23 15:23:12.000000000 +0200
145@@ -36,7 +36,7 @@
146 SYSCONF_LIBS_YACC=
147
148 # Linking applications
149 -SYSCONF_LINK = gcc
150 +SYSCONF_LINK = g++
151 SYSCONF_LFLAGS =
152 SYSCONF_LIBS = -lm
153
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
156 +++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200
157@@ -36,7 +36,7 @@
158 SYSCONF_LIBS_YACC=
159
160 # Linking applications
161 -SYSCONF_LINK = gcc
162 +SYSCONF_LINK = g++
163 SYSCONF_LFLAGS =
164 SYSCONF_LIBS = -lm
165
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
168 +++ qt-2.3.7/include/qapplication.h2004-07-23 15:25:42.000000000 +0200
169@@ -61,6 +61,10 @@
170 class QSemaphore;
171 #endif
172
173+#if !defined( QT_WEAK_SYMBOL )
174+#define QT_WEAK_SYMBOL
175+#endif
176+
177 // REMOVE IN 3.0 (just here for moc source compatibility)
178 #define QNonBaseApplication QApplication
179
180@@ -85,7 +89,10 @@
181
182 #ifndef QT_NO_STYLE
183 static QStyle &style();
184 - static void setStyle( QStyle* );
185 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
186+private:
187 +static void setStyle_NonWeak( QStyle* );
188+public:
189 #endif
190 #if 1/* OBSOLETE */
191 enum ColorMode { NormalColors, CustomColors };
192@@ -106,11 +113,19 @@
193 #ifndef QT_NO_PALETTE
194 static QPalette palette( const QWidget* = 0 );
195 static void setPalette( const QPalette &, bool informWidgets=FALSE,
196 + const char* className = 0 ) QT_WEAK_SYMBOL;
197+private:
198 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
199 const char* className = 0 );
200+public:
201 #endif
202 static QFont font( const QWidget* = 0 );
203 static void setFont( const QFont &, bool informWidgets=FALSE,
204 + const char* className = 0 ) QT_WEAK_SYMBOL;
205+private:
206 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
207 const char* className = 0 );
208 +public:
209 static QFontMetrics fontMetrics();
210
211 QWidget *mainWidget() const;
212@@ -207,7 +222,10 @@
213 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
214 #ifndef QT_NO_QWS_MANAGER
215 static QWSDecoration &qwsDecoration();
216- static void qwsSetDecoration( QWSDecoration *);
217+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
218+private:
219+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
220+public:
221 #endif
222 #endif
223
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
226 +++ qt-2.3.7/include/qcstring.h2004-07-23 15:42:01.000000000 +0200
227@@ -119,7 +119,7 @@
228 // We want to keep source compatibility for 2.x
229 // ### TODO for 4.0: completely remove these and the cstr* functions
230
231-#if !defined(QT_GENUINE_STR)
232+#if 0
233
234 #undefstrlen
235 #define strlen qstrlen
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
238 +++ qt-2.3.7/include/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200
239@@ -59,6 +59,10 @@
240 class QDiskFont;
241 #endif
242
243+#if !defined( QT_WEAK_SYMBOL )
244+#define QT_WEAK_SYMBOL
245+#endif
246+
247 class QFontDatabasePrivate;
248
249 class Q_EXPORT QFontDatabase
250@@ -67,9 +71,16 @@
251 QFontDatabase();
252
253 QStringList families( bool onlyForLocale = TRUE ) const;
254+
255+
256 QValueList<int> pointSizes( const QString &family,
257 const QString &style = QString::null,
258 - const QString &charSet = QString::null );
259 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
260+private:
261+ QValueList<int> pointSizes_NonWeak( const QString &family,
262 + const QString &style,
263 + const QString &charSet );
264+public:
265 QStringList styles( const QString &family,
266 const QString &charSet = QString::null ) const;
267 QStringList charSets( const QString &familyName,
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
270 +++ qt-2.3.7/include/qglobal.h2004-07-23 15:42:01.000000000 +0200
271@@ -207,8 +207,16 @@
272 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
273 #define Q_FP_CCAST_BROKEN
274 #endif
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
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
279+ supposedly know what you are doing.) */
280 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
281 #define Q_PACKED __attribute__ ((packed))
282+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
283+# define Q_NO_PACKED_REFERENCE
284+# endif
285 #endif
286 #elif defined(__xlC__)
287 #define _CC_XLC_
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
290 +++ qt-2.3.7/include/qiconview.h2004-07-23 15:45:34.000000000 +0200
291@@ -444,6 +444,7 @@
292 virtual void contentsDropEvent( QDropEvent *e );
293 #endif
294
295+ void bufferedPaintEvent( QPaintEvent* );
296 virtual void resizeEvent( QResizeEvent* e );
297 virtual void keyPressEvent( QKeyEvent *e );
298 virtual void focusInEvent( QFocusEvent *e );
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
301 +++ qt-2.3.7/include/qsortedlist.h2004-07-23 15:42:01.000000000 +0200
302@@ -48,7 +48,7 @@
303 public:
304 QSortedList() {}
305 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
306- ~QSortedList() { clear(); }
307+ ~QSortedList() { this->clear(); }
308 QSortedList<type> &operator=(const QSortedList<type> &l)
309 { return (QSortedList<type>&)QList<type>::operator=(l); }
310
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
313 +++ qt-2.3.7/include/qstring.h2004-07-23 15:42:01.000000000 +0200
314@@ -163,8 +163,16 @@
315 bool isLetterOrNumber() const;
316 bool isDigit() const;
317
318+
319+#ifdef Q_NO_PACKED_REFERENCE
320+ uchar& cell() { return *(&cl); }
321+ uchar& row() { return *(&rw); }
322+#else
323 uchar& cell() { return cl; }
324- uchar& row() { return rw; }
325+ uchar& row() { return rw; }
326+#endif
327+
328+
329 uchar cell() const { return cl; }
330 uchar row() const { return rw; }
331
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
334 +++ qt-2.3.7/src/iconview/qiconview.cpp2004-07-23 15:45:34.000000000 +0200
335@@ -220,6 +220,7 @@
336 QIconView::SelectionMode selectionMode;
337 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
338 QRect *rubber;
339+ QPixmap *backBuffer;
340 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
341 *fullRedrawTimer;
342 int rastX, rastY, spacing;
343@@ -2263,6 +2264,7 @@
344 d->currentItem = 0;
345 d->highlightedItem = 0;
346 d->rubber = 0;
347+ d->backBuffer = 0;
348 d->scrollTimer = 0;
349 d->startDragItem = 0;
350 d->tmpCurrentItem = 0;
351@@ -2411,6 +2413,8 @@
352 delete item;
353 item = tmp;
354 }
355+ delete d->backBuffer;
356+ d->backBuffer = 0;
357 delete d->fm;
358 d->fm = 0;
359 #ifndef QT_NO_TOOLTIP
360@@ -2877,6 +2881,48 @@
361 }
362
363 /*!
364+ This function grabs all paintevents that otherwise would have been
365+ processed by the QScrollView::viewportPaintEvent(). Here we use a
366+ doublebuffer to reduce 'on-paint' flickering on QIconView
367+ (and of course its childs).
368+
369+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
370+*/
371+
372+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
373+{
374+ QWidget* vp = viewport();
375+ QRect r = pe->rect() & vp->rect();
376+ int ex = r.x() + contentsX();
377+ int ey = r.y() + contentsY();
378+ int ew = r.width();
379+ int eh = r.height();
380+
381+ if ( !d->backBuffer )
382 +d->backBuffer = new QPixmap(vp->size());
383+ if ( d->backBuffer->size() != vp->size() ) {
384 +//Resize function (with hysteesis). Uses a good compromise between memory
385 +//consumption and speed (number) of resizes.
386+ float newWidth = (float)vp->width();
387 +float newHeight = (float)vp->height();
388 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
389 +{
390 + newWidth *= 1.1892;
391 + newHeight *= 1.1892;
392 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
393 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
394 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
395+ }
396+
397+ QPainter p;
398+ p.begin(d->backBuffer, vp);
399+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
400+ p.end();
401+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
402+}
403+
404+/*!
405+
406 \reimp
407 */
408
409@@ -4855,7 +4901,7 @@
410 if ( !d->rubber )
411 drawDragShapes( d->oldDragPos );
412 }
413 - viewportPaintEvent( (QPaintEvent*)e );
414+ bufferedPaintEvent ((QPaintEvent*)e );
415 if ( d->dragging ) {
416 if ( !d->rubber )
417 drawDragShapes( d->oldDragPos );
418@@ -5286,11 +5332,19 @@
419 return;
420
421 if ( item->d->container1 && d->firstContainer ) {
422 -item->d->container1->items.removeRef( item );
423+ //Special-case checking of the last item, since this may be
424+ //called a few times for the same item.
425+ if (item->d->container1->items.last() == item)
426+ item->d->container1->items.removeLast();
427+ else
428+ item->d->container1->items.removeRef( item );
429 }
430 item->d->container1 = 0;
431 if ( item->d->container2 && d->firstContainer ) {
432 -item->d->container2->items.removeRef( item );
433+ if (item->d->container2->items.last() == item)
434+ item->d->container2->items.removeLast();
435+ else
436+ item->d->container2->items.removeRef( item );
437 }
438 item->d->container2 = 0;
439
440diff -ur qt-2.3.7-old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h
441 --- qt-2.3.7-old/src/iconview/qiconview.h2004-07-23 15:22:56.000000000 +0200
442 +++ qt-2.3.7/src/iconview/qiconview.h2004-07-23 15:45:34.000000000 +0200
443@@ -444,6 +444,7 @@
444 virtual void contentsDropEvent( QDropEvent *e );
445 #endif
446
447+ void bufferedPaintEvent( QPaintEvent* );
448 virtual void resizeEvent( QResizeEvent* e );
449 virtual void keyPressEvent( QKeyEvent *e );
450 virtual void focusInEvent( QFocusEvent *e );
451diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp
452 --- qt-2.3.7-old/src/kernel/qapplication.cpp2004-07-23 15:22:56.000000000 +0200
453 +++ qt-2.3.7/src/kernel/qapplication.cpp2004-07-23 15:25:42.000000000 +0200
454@@ -35,6 +35,8 @@
455 **
456 **********************************************************************/
457
458 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
459+
460 #include "qobjectlist.h"
461 #include "qobjectdict.h"
462 #include "qapplication.h"
463@@ -933,11 +935,16 @@
464 #ifndef QT_NO_STYLE
465 void QApplication::setStyle( QStyle *style )
466 {
467 +setStyle_NonWeak ( style );
468+}
469+
470+void QApplication::setStyle_NonWeak( QStyle *style )
471+{
472 QStyle* old = app_style;
473- app_style = style;
474
475 if ( startingUp() ) {
476 delete old;
477 +app_style = style;
478 return;
479 }
480
481@@ -958,6 +965,8 @@
482 old->unPolish( qApp );
483 }
484
485+ app_style = style;
486+
487 // take care of possible palette requirements of certain gui
488 // styles. Do it before polishing the application since the style
489 // might call QApplication::setStyle() itself
490@@ -1184,13 +1193,30 @@
491 \sa QWidget::setPalette(), palette(), QStyle::polish()
492 */
493
494-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
495+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
496 + const char* className )
497+{
498 +setPalette_NonWeak ( palette, informWidgets, className );
499+}
500+
501+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
502 const char* className )
503 {
504 QPalette pal = palette;
505 #ifndef QT_NO_STYLE
506- if ( !startingUp() )
507+ if ( !startingUp() ) {
508 qApp->style().polish( pal );// NB: non-const reference
509 +if ( className ) {
510 + // if we just polished a class specific palette (this normally
511 + // only called by qt_fix_tooltips - see below), we better re-
512 + // polish the global palette. Some styles like liquid can get
513 + // confused, because they can not detect if the polished palette
514 + // is the global one or only a class specific one.
515 + // (liquid uses this palette to calculate blending pixmaps)
516 + QPalette p = qApp-> palette ( );
517 + qApp->style().polish ( p );
518 +}
519+ }
520 #endif
521 bool all = FALSE;
522 if ( !className ) {
523@@ -1275,6 +1301,12 @@
524 void QApplication::setFont( const QFont &font, bool informWidgets,
525 const char* className )
526 {
527 +setFont_NonWeak ( font, informWidgets, className );
528+}
529+
530+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
531 + const char* className )
532+{
533 bool all = FALSE;
534 if ( !className ) {
535 if ( !app_font ) {
536diff -ur qt-2.3.7-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h
537 --- qt-2.3.7-old/src/kernel/qapplication.h2004-07-23 15:22:56.000000000 +0200
538 +++ qt-2.3.7/src/kernel/qapplication.h2004-07-23 15:25:42.000000000 +0200
539@@ -61,6 +61,10 @@
540 class QSemaphore;
541 #endif
542
543+#if !defined( QT_WEAK_SYMBOL )
544+#define QT_WEAK_SYMBOL
545+#endif
546+
547 // REMOVE IN 3.0 (just here for moc source compatibility)
548 #define QNonBaseApplication QApplication
549
550@@ -85,7 +89,10 @@
551
552 #ifndef QT_NO_STYLE
553 static QStyle &style();
554 - static void setStyle( QStyle* );
555 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
556+private:
557 +static void setStyle_NonWeak( QStyle* );
558+public:
559 #endif
560 #if 1/* OBSOLETE */
561 enum ColorMode { NormalColors, CustomColors };
562@@ -106,11 +113,19 @@
563 #ifndef QT_NO_PALETTE
564 static QPalette palette( const QWidget* = 0 );
565 static void setPalette( const QPalette &, bool informWidgets=FALSE,
566 + const char* className = 0 ) QT_WEAK_SYMBOL;
567+private:
568 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
569 const char* className = 0 );
570+public:
571 #endif
572 static QFont font( const QWidget* = 0 );
573 static void setFont( const QFont &, bool informWidgets=FALSE,
574 + const char* className = 0 ) QT_WEAK_SYMBOL;
575+private:
576 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
577 const char* className = 0 );
578 +public:
579 static QFontMetrics fontMetrics();
580
581 QWidget *mainWidget() const;
582@@ -207,7 +222,10 @@
583 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
584 #ifndef QT_NO_QWS_MANAGER
585 static QWSDecoration &qwsDecoration();
586- static void qwsSetDecoration( QWSDecoration *);
587+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
588+private:
589+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
590+public:
591 #endif
592 #endif
593
594diff -ur qt-2.3.7-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp
595 --- qt-2.3.7-old/src/kernel/qapplication_qws.cpp2004-07-23 15:22:56.000000000 +0200
596 +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-23 15:25:42.000000000 +0200
597@@ -2804,6 +2804,11 @@
598 */
599 void QApplication::qwsSetDecoration( QWSDecoration *d )
600 {
601 +qwsSetDecoration_NonWeak ( d );
602+}
603+
604+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
605+{
606 if ( d ) {
607 delete qws_decoration;
608 qws_decoration = d;
609diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp
610 --- qt-2.3.7-old/src/kernel/qfontdatabase.cpp2004-07-23 15:22:56.000000000 +0200
611 +++ qt-2.3.7/src/kernel/qfontdatabase.cpp2004-07-23 15:25:42.000000000 +0200
612@@ -35,6 +35,8 @@
613 **
614 **********************************************************************/
615
616+#define QT_WEAK_SYMBOL __attribute__(( weak ))
617+
618 #include "qfontdatabase.h"
619
620 #ifndef QT_NO_FONTDATABASE
621@@ -2424,6 +2426,13 @@
622 const QString &style,
623 const QString &charSet )
624 {
625 +return pointSizes_NonWeak ( family, style, charSet );
626+}
627+
628+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
629+ const QString &style,
630+ const QString &charSet )
631+{
632 QString cs( charSet );
633 if ( charSet.isEmpty() ) {
634 QStringList lst = charSets( family );
635diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h
636 --- qt-2.3.7-old/src/kernel/qfontdatabase.h2004-07-23 15:22:56.000000000 +0200
637 +++ qt-2.3.7/src/kernel/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200
638@@ -59,6 +59,10 @@
639 class QDiskFont;
640 #endif
641
642+#if !defined( QT_WEAK_SYMBOL )
643+#define QT_WEAK_SYMBOL
644+#endif
645+
646 class QFontDatabasePrivate;
647
648 class Q_EXPORT QFontDatabase
649@@ -67,9 +71,16 @@
650 QFontDatabase();
651
652 QStringList families( bool onlyForLocale = TRUE ) const;
653+
654+
655 QValueList<int> pointSizes( const QString &family,
656 const QString &style = QString::null,
657 - const QString &charSet = QString::null );
658 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
659+private:
660+ QValueList<int> pointSizes_NonWeak( const QString &family,
661 + const QString &style,
662 + const QString &charSet );
663+public:
664 QStringList styles( const QString &family,
665 const QString &charSet = QString::null ) const;
666 QStringList charSets( const QString &familyName,
667diff -ur qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp
668 --- qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp2004-07-23 15:22:56.000000000 +0200
669 +++ qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp2004-07-23 15:42:01.000000000 +0200
670@@ -671,11 +671,11 @@
671 inline int tx( int x, int y ) {
672 switch ( qt_trans_screen->transformation() ) {
673 case QTransformedScreen::Rot90:
674 - return y - xoffs + yoffs;
675 + return y - this->xoffs + this->yoffs;
676 case QTransformedScreen::Rot180:
677 - return (width - x - 1) - xoffs - xoffs;
678 + return (this->width - x - 1) - this->xoffs - this->xoffs;
679 case QTransformedScreen::Rot270:
680 - return (height - y - 1) - xoffs - yoffs;
681 + return (this->height - y - 1) - this->xoffs - this->yoffs;
682 default:
683 return x;
684 }
685@@ -683,11 +683,11 @@
686 inline int ty( int x, int y ) {
687 switch ( qt_trans_screen->transformation() ) {
688 case QTransformedScreen::Rot90:
689 - return (width - x - 1) - yoffs - xoffs;
690 + return (this->width - x - 1) - this->yoffs - this->xoffs;
691 case QTransformedScreen::Rot180:
692 - return (height - y - 1) - yoffs - yoffs;
693 + return (this->height - y - 1) - this->yoffs - this->yoffs;
694 case QTransformedScreen::Rot270:
695 - return x - yoffs + xoffs;
696 + return x - this->yoffs + this->xoffs;
697 default:
698 return y;
699 }
700@@ -715,23 +715,23 @@
701 template <const int depth, const int type>
702 void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y)
703 {
704- if ( srcbits == buffer ) {
705+ if ( this->srcbits == this->buffer ) {
706 switch ( qt_trans_screen->transformation() ) {
707 case QTransformedScreen::Rot90:
708 - srcwidgetoffs = QPoint( y, width - x - srcwidth );
709 + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth );
710 break;
711 case QTransformedScreen::Rot180:
712 - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight );
713 + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight );
714 break;
715 case QTransformedScreen::Rot270:
716 - srcwidgetoffs = QPoint( height - y - srcheight, x );
717 + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x );
718 break;
719 default:
720 - srcwidgetoffs = QPoint( x, y );
721 + this->srcwidgetoffs = QPoint( x, y );
722 break;
723 }
724 } else
725 -srcwidgetoffs = QPoint( x, y );
726 +this->srcwidgetoffs = QPoint( x, y );
727 }
728
729 template <const int depth, const int type>
730@@ -739,8 +739,8 @@
731 {
732 QT_TRANS_GFX_BASE<depth,type>::setSource(i);
733 QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) );
734- srcwidth = s.width();
735- srcheight = s.height();
736+ this->srcwidth = s.width();
737+ this->srcheight = s.height();
738 }
739
740 template <const int depth, const int type>
741@@ -782,7 +782,7 @@
742 if ( w == 0 || h == 0 )
743 return;
744 QRect r( x, y, w, h );
745- if ( cbrush.style() == SolidPattern ) {
746+ if ( this->cbrush.style() == Qt::SolidPattern ) {
747 r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) );
748 r = r.normalize();
749 }
750@@ -797,7 +797,7 @@
751 // solution. The brush offset logic is complicated enough, so we don't
752 // fastpath patternedbrush.
753
754- if ( inDraw || cpen.style()==NoPen || patternedbrush ) {
755+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) {
756 //slowpath
757 QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num );
758 } else {
759@@ -819,29 +819,29 @@
760 template <const int depth, const int type>
761 void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width )
762 {
763- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) {
764+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) {
765 //in the patternedbrush case, we let blt do the transformation
766 // so we leave inDraw false.
767 - QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
768 +QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
769 } else {
770 inDraw = TRUE;
771 while (n--) {
772 if ( *width > 0 ) {
773 - int x=tx(point->x(),point->y())+xoffs;
774 - int y=ty(point->x(),point->y())+yoffs;
775 + int x=tx(point->x(),point->y())+this->xoffs;
776 + int y=ty(point->x(),point->y())+this->yoffs;
777
778 switch( qt_trans_screen->transformation() ) {
779 case QTransformedScreen::Rot90:
780 - vline( x, y-(*width-1), y );
781 + this->vline( x, y-(*width-1), y );
782 break;
783 case QTransformedScreen::Rot180:
784 - hline( x - (*width-1), x, y );
785 + this->hline( x - (*width-1), x, y );
786 break;
787 case QTransformedScreen::Rot270:
788 - vline( x, y, y+*width-1 );
789 + this->vline( x, y, y+*width-1 );
790 break;
791 default:
792 - hline( x, x+*width-1, y );
793 + this->hline( x, x+*width-1, y );
794 break;
795 }
796 }
797@@ -896,14 +896,14 @@
798 switch ( qt_trans_screen->transformation() ) {
799 case QTransformedScreen::Rot90:
800 rsx = sy;
801 - rsy = srcwidth - sx - w;
802 + rsy = this->srcwidth - sx - w;
803 break;
804 case QTransformedScreen::Rot180:
805 - rsx = srcwidth - sx - w;
806 - rsy = srcheight - sy - h;
807 + rsx = this->srcwidth - sx - w;
808 + rsy = this->srcheight - sy - h;
809 break;
810 case QTransformedScreen::Rot270:
811 - rsx = srcheight - sy - h;
812 + rsx = this->srcheight - sy - h;
813 rsy = sx;
814 break;
815 default:
816@@ -941,39 +941,39 @@
817 r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) );
818 r = r.normalize();
819
820- QPoint oldBrushOffs = brushoffs;
821+ QPoint oldBrushOffs = this->brushoffs;
822 int brx, bry;
823 switch ( qt_trans_screen->transformation() ) {
824 case QTransformedScreen::Rot90:
825 - brx = brushoffs.y();
826 - bry = srcwidth - brushoffs.x() - w;
827 + brx = this->brushoffs.y();
828 + bry = this->srcwidth - this->brushoffs.x() - w;
829 break;
830 case QTransformedScreen::Rot180:
831 - brx = srcwidth - brushoffs.x() - w;
832 - bry = srcheight - brushoffs.y() - h;
833 + brx = this->srcwidth - this->brushoffs.x() - w;
834 + bry = this->srcheight - this->brushoffs.y() - h;
835 break;
836 case QTransformedScreen::Rot270:
837 - brx = srcheight - brushoffs.y() - h;
838 - bry = brushoffs.x();
839 + brx = this->srcheight - this->brushoffs.y() - h;
840 + bry = this->brushoffs.x();
841 break;
842 default:
843 - brx = brushoffs.x();
844 - bry = brushoffs.y();
845 + brx = this->brushoffs.x();
846 + bry = this->brushoffs.y();
847 break;
848 }
849- brushoffs = QPoint( brx, bry );
850+ this->brushoffs = QPoint( brx, bry );
851
852- int oldsw = srcwidth;
853- int oldsh = srcheight;
854- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) );
855- srcwidth = s.width();
856- srcheight = s.height();
857+ int oldsw = this->srcwidth;
858+ int oldsh = this->srcheight;
859+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) );
860+ this->srcwidth = s.width();
861+ this->srcheight = s.height();
862
863 QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() );
864
865- srcwidth = oldsw;
866- srcheight = oldsh;
867- brushoffs = oldBrushOffs;
868+ this->srcwidth = oldsw;
869+ this->srcheight = oldsh;
870+ this->brushoffs = oldBrushOffs;
871 inDraw = FALSE;
872 }
873
874diff -ur qt-2.3.7-old/src/kernel/qgfxvfb_qws.cpp qt-2.3.7/src/kernel/qgfxvfb_qws.cpp
875 --- qt-2.3.7-old/src/kernel/qgfxvfb_qws.cpp2004-07-23 15:22:56.000000000 +0200
876 +++ qt-2.3.7/src/kernel/qgfxvfb_qws.cpp2004-07-23 15:42:01.000000000 +0200
877@@ -31,7 +31,6 @@
878 **********************************************************************/
879
880 #include "qgfxraster_qws.h"
881-
882 #ifndef QT_NO_QWS_VFB
883
884 #include <sys/ipc.h>
885@@ -140,8 +139,8 @@
886 void QGfxVFb<depth,type>::drawPoint( int x, int y )
887 {
888 QWSDisplay::grab( TRUE );
889- if ( is_screen_gfx )
890 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) );
891+ if ( this->is_screen_gfx )
892 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) );
893 QGfxRaster<depth,type>::drawPoint( x, y );
894 QWSDisplay::ungrab();
895 }
896@@ -150,8 +149,8 @@
897 void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y )
898 {
899 QWSDisplay::grab( TRUE );
900- if ( is_screen_gfx )
901 -qvfb_screen->setDirty( clipbounds );
902+ if ( this->is_screen_gfx )
903 +qvfb_screen->setDirty( this->clipbounds );
904 QGfxRaster<depth,type>::drawPoints( pa, x, y );
905 QWSDisplay::ungrab();
906 }
907@@ -160,9 +159,9 @@
908 void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 )
909 {
910 QWSDisplay::grab( TRUE );
911- if ( is_screen_gfx ) {
912+ if ( this->is_screen_gfx ) {
913 QRect r;
914 -r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs );
915 +r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs );
916 qvfb_screen->setDirty( r.normalize() );
917 }
918 QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
919@@ -173,8 +172,8 @@
920 void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h )
921 {
922 QWSDisplay::grab( TRUE );
923- if ( is_screen_gfx )
924 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
925+ if ( this->is_screen_gfx )
926 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
927 QGfxRaster<depth,type>::fillRect( x, y, w, h );
928 QWSDisplay::ungrab();
929 }
930@@ -183,8 +182,8 @@
931 void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y )
932 {
933 QWSDisplay::grab( TRUE );
934- if ( is_screen_gfx )
935 -qvfb_screen->setDirty( clipbounds );
936+ if ( this->is_screen_gfx )
937 +qvfb_screen->setDirty( this->clipbounds );
938 QGfxRaster<depth,type>::drawPolyline( pa, x, y );
939 QWSDisplay::ungrab();
940 }
941@@ -193,8 +192,8 @@
942 void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y )
943 {
944 QWSDisplay::grab( TRUE );
945- if ( is_screen_gfx )
946 -qvfb_screen->setDirty( clipbounds );
947+ if ( this->is_screen_gfx )
948 +qvfb_screen->setDirty( this->clipbounds );
949 QGfxRaster<depth,type>::drawPolygon( pa, w, x, y );
950 QWSDisplay::ungrab();
951 }
952@@ -203,8 +202,8 @@
953 void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy )
954 {
955 QWSDisplay::grab( TRUE );
956- if ( is_screen_gfx )
957 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
958+ if ( this->is_screen_gfx )
959 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
960 QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy );
961 QWSDisplay::ungrab();
962 }
963@@ -215,8 +214,8 @@
964 QWSDisplay::grab( TRUE );
965 int dy = sy - y;
966 int dx = sx - x;
967- if ( is_screen_gfx )
968 -qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs,
969+ if ( this->is_screen_gfx )
970 +qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs,
971 w+abs(dx), h+abs(dy)) );
972 QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy );
973 QWSDisplay::ungrab();
974@@ -227,8 +226,8 @@
975 void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy )
976 {
977 QWSDisplay::grab( TRUE );
978- if ( is_screen_gfx )
979 -qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) );
980+ if ( this->is_screen_gfx )
981 +qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) );
982 QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy );
983 QWSDisplay::ungrab();
984 }
985@@ -238,8 +237,8 @@
986 void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h )
987 {
988 QWSDisplay::grab( TRUE );
989- if ( is_screen_gfx )
990 -qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) );
991+ if ( this->is_screen_gfx )
992 +qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) );
993 QGfxRaster<depth,type>::tiledBlt( x, y, w, h );
994 QWSDisplay::ungrab();
995 }
996diff -ur qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp qt-2.3.7/src/kernel/qkeyboard_qws.cpp
997 --- qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp2004-07-23 15:22:56.000000000 +0200
998 +++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp2004-07-23 15:33:46.000000000 +0200
999@@ -238,7 +238,7 @@
1000 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63
1001 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64
1002 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65
1003 - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66
1004+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
1005 { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
1006 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68
1007 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69
1008diff -ur qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.7/src/kernel/qwindowsystem_qws.cpp
1009 --- qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp2004-07-23 15:22:56.000000000 +0200
1010 +++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp2004-07-23 15:33:47.000000000 +0200
1011@@ -844,6 +844,18 @@
1012 {
1013 }
1014
1015+static void catchSegvSignal( int )
1016+{
1017+#ifndef QT_NO_QWS_KEYBOARD
1018+ if ( qwsServer )
1019 +qwsServer->closeKeyboard();
1020+#endif
1021+ QWSServer::closedown();
1022+ fprintf(stderr, "Segmentation fault.\n");
1023+ exit(1);
1024+}
1025+
1026+
1027 /*!
1028 \class QWSServer qwindowsystem_qws.h
1029 \brief Server-specific functionality in Qt/Embedded
1030@@ -936,6 +948,7 @@
1031 }
1032
1033 signal(SIGPIPE, ignoreSignal); //we get it when we read
1034+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
1035 #endif
1036 focusw = 0;
1037 mouseGrabber = 0;
1038diff -ur qt-2.3.7-old/src/tools/qcstring.h qt-2.3.7/src/tools/qcstring.h
1039 --- qt-2.3.7-old/src/tools/qcstring.h2004-07-23 15:22:56.000000000 +0200
1040 +++ qt-2.3.7/src/tools/qcstring.h2004-07-23 15:42:01.000000000 +0200
1041@@ -119,7 +119,7 @@
1042 // We want to keep source compatibility for 2.x
1043 // ### TODO for 4.0: completely remove these and the cstr* functions
1044
1045-#if !defined(QT_GENUINE_STR)
1046+#if 0
1047
1048 #undefstrlen
1049 #define strlen qstrlen
1050diff -ur qt-2.3.7-old/src/tools/qglobal.h qt-2.3.7/src/tools/qglobal.h
1051 --- qt-2.3.7-old/src/tools/qglobal.h2004-07-23 15:22:56.000000000 +0200
1052 +++ qt-2.3.7/src/tools/qglobal.h2004-07-23 15:42:01.000000000 +0200
1053@@ -207,8 +207,16 @@
1054 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
1055 #define Q_FP_CCAST_BROKEN
1056 #endif
1057+/* ARM gcc pads structs to 32 bits, even when they contain a single
1058+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
1059+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
1060+ members of a packed struct. (Pointers are OK, because then you
1061+ supposedly know what you are doing.) */
1062 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
1063 #define Q_PACKED __attribute__ ((packed))
1064+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
1065+# define Q_NO_PACKED_REFERENCE
1066+# endif
1067 #endif
1068 #elif defined(__xlC__)
1069 #define _CC_XLC_
1070diff -ur qt-2.3.7-old/src/tools/qmodules.h qt-2.3.7/src/tools/qmodules.h
1071 --- qt-2.3.7-old/src/tools/qmodules.h2004-07-23 15:22:56.000000000 +0200
1072 +++ qt-2.3.7/src/tools/qmodules.h2004-07-23 16:03:09.000000000 +0200
1073@@ -1,14 +1,11 @@
1074-#ifndef QT_H
1075-#endif // QT_H
1076-
1077+// These modules are licensed to you
1078 #define QT_MODULE_TOOLS
1079 #define QT_MODULE_KERNEL
1080 #define QT_MODULE_WIDGETS
1081 #define QT_MODULE_DIALOGS
1082-
1083 #define QT_MODULE_ICONVIEW
1084 #define QT_MODULE_WORKSPACE
1085-#define QT_MODULE_TABLE
1086+#define QT_MODULE_NETWORK
1087 #define QT_MODULE_CANVAS
1088+#define QT_MODULE_TABLE
1089 #define QT_MODULE_XML
1090-#define QT_MODULE_NETWORK
1091diff -ur qt-2.3.7-old/src/tools/qsortedlist.h qt-2.3.7/src/tools/qsortedlist.h
1092 --- qt-2.3.7-old/src/tools/qsortedlist.h2004-07-23 15:22:56.000000000 +0200
1093 +++ qt-2.3.7/src/tools/qsortedlist.h2004-07-23 15:42:01.000000000 +0200
1094@@ -48,7 +48,7 @@
1095 public:
1096 QSortedList() {}
1097 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
1098- ~QSortedList() { clear(); }
1099+ ~QSortedList() { this->clear(); }
1100 QSortedList<type> &operator=(const QSortedList<type> &l)
1101 { return (QSortedList<type>&)QList<type>::operator=(l); }
1102
1103diff -ur qt-2.3.7-old/src/tools/qstring.cpp qt-2.3.7/src/tools/qstring.cpp
1104 --- qt-2.3.7-old/src/tools/qstring.cpp2004-07-23 15:22:56.000000000 +0200
1105 +++ qt-2.3.7/src/tools/qstring.cpp2004-07-23 15:44:25.000000000 +0200
1106@@ -14469,7 +14469,11 @@
1107 return qt_winQString2MB( *this );
1108 #endif
1109 #ifdef _WS_QWS_
1110- return utf8(); // ##### if there is ANY 8 bit format supported?
1111+ QTextCodec* codec = QTextCodec::codecForLocale();
1112+ return codec
1113 + ? codec->fromUnicode(*this)
1114 + : utf8();
1115+ //return latin1(); // ##### if there is ANY 8 bit format supported?
1116 #endif
1117 #endif
1118 }
1119@@ -14515,7 +14519,12 @@
1120 return qt_winMB2QString( local8Bit );
1121 #endif
1122 #ifdef _WS_QWS_
1123- return fromUtf8(local8Bit,len);
1124+ QTextCodec* codec = QTextCodec::codecForLocale();
1125+ if( len < 0) len = qstrlen(local8Bit);
1126+ return codec
1127 + ? codec->toUnicode(local8Bit, len)
1128 + : QString::fromUtf8(local8Bit,len);
1129+// return fromLatin1(local8Bit,len);
1130 #endif
1131 #endif // QT_NO_TEXTCODEC
1132 }
1133diff -ur qt-2.3.7-old/src/tools/qstring.h qt-2.3.7/src/tools/qstring.h
1134 --- qt-2.3.7-old/src/tools/qstring.h2004-07-23 15:22:56.000000000 +0200
1135 +++ qt-2.3.7/src/tools/qstring.h2004-07-23 15:42:01.000000000 +0200
1136@@ -163,8 +163,16 @@
1137 bool isLetterOrNumber() const;
1138 bool isDigit() const;
1139
1140+
1141+#ifdef Q_NO_PACKED_REFERENCE
1142+ uchar& cell() { return *(&cl); }
1143+ uchar& row() { return *(&rw); }
1144+#else
1145 uchar& cell() { return cl; }
1146- uchar& row() { return rw; }
1147+ uchar& row() { return rw; }
1148+#endif
1149+
1150+
1151 uchar cell() const { return cl; }
1152 uchar row() const { return rw; }
1153
1154diff -ur qt-2.3.7-old/src/widgets/qcommonstyle.cpp qt-2.3.7/src/widgets/qcommonstyle.cpp
1155 --- qt-2.3.7-old/src/widgets/qcommonstyle.cpp2004-07-23 15:22:56.000000000 +0200
1156 +++ qt-2.3.7/src/widgets/qcommonstyle.cpp2004-07-23 15:38:13.000000000 +0200
1157@@ -566,7 +566,7 @@
1158 bool enabled, bool active )
1159 {
1160 #ifndef QT_NO_MENUBAR
1161-#ifndef QT_NO_STYLE_SGI
1162+#if 1 // #ifndef QT_NO_STYLE_SGI
1163 if (draw_menu_bar_impl != 0) {
1164 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
1165 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
1166diff -ur qt-2.3.7-old/src/widgets/qlistview.cpp qt-2.3.7/src/widgets/qlistview.cpp
1167 --- qt-2.3.7-old/src/widgets/qlistview.cpp2004-07-23 15:22:56.000000000 +0200
1168 +++ qt-2.3.7/src/widgets/qlistview.cpp2004-07-23 15:38:13.000000000 +0200
1169@@ -4968,9 +4968,9 @@
1170 l = l->childItem ? l->childItem : l->siblingItem;
1171
1172 if ( l && l->height() )
1173 -s.setHeight( s.height() + 10 * l->height() );
1174- else
1175 -s.setHeight( s.height() + 140 );
1176 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
1177+ else // ^v much too big for handhelds
1178 +s.setHeight( s.height() + 30 /*140*/ );
1179
1180 if ( s.width() > s.height() * 3 )
1181 s.setHeight( s.width() / 3 );
1182diff -ur qt-2.3.7-old/src/widgets/qscrollview.cpp qt-2.3.7/src/widgets/qscrollview.cpp
1183 --- qt-2.3.7-old/src/widgets/qscrollview.cpp2004-07-23 19:25:18.000000000 +0200
1184 +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-07-23 19:23:10.000000000 +0200
1185@@ -526,15 +526,16 @@
1186 this, SLOT( doDragAutoScroll() ) );
1187 #endif
1188
1189- connect( &d->hbar, SIGNAL( valueChanged( int ) ),
1190 -this, SLOT( hslide( int ) ) );
1191- connect( &d->vbar, SIGNAL( valueChanged( int ) ),
1192 -this, SLOT( vslide( int ) ) );
1193+ connect( &d->hbar, SIGNAL( valueChanged(int) ),
1194 +this, SLOT( hslide(int) ) );
1195+ connect( &d->vbar, SIGNAL( valueChanged(int) ),
1196 +this, SLOT( vslide(int) ) );
1197 d->viewport.installEventFilter( this );
1198
1199 setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
1200 setLineWidth( style().defaultFrameWidth() );
1201 setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
1202+
1203 }
1204
1205
1206@@ -683,6 +684,11 @@
1207 h-tmarg-bmarg - (showh ? hsbExt : 0) );
1208 }
1209
1210+/*
1211+ The surrounding environment (or application, if there is no
1212+ environment, may set this. Requires Qt >= 2.3.8.
1213+*/
1214+bool qt_left_hand_scrollbars = FALSE;
1215
1216 /*!
1217 Updates scrollbars - all possibilities considered. You should never
1218@@ -786,45 +792,50 @@
1219
1220 // Position the scrollbars, viewport, and corner widget.
1221 int bottom;
1222+ int xoffset = ( qt_left_hand_scrollbars && ( showv || cornerWidget() ) ) ? vsbExt : 0;
1223+ int xpos = qt_left_hand_scrollbars ? 0 : w-vsbExt;
1224+ xpos = (style() == WindowsStyle) && qt_left_hand_scrollbars ? xpos + fw : xpos - fw;
1225+ int ypos = tmarg;
1226+ ypos = (style() == WindowsStyle) ? ypos +fw : 0;
1227 if ( showh ) {
1228 int right = ( showv || cornerWidget() ) ? w-vsbExt : w;
1229 if ( style() == WindowsStyle )
1230- setHBarGeometry(d->hbar, fw, h-hsbExt-fw,
1231+ setHBarGeometry(d->hbar, fw + xoffset , h-hsbExt-fw,
1232 right-fw-fw, hsbExt );
1233 else
1234- setHBarGeometry(d->hbar, 0, h-hsbExt, right,
1235+ setHBarGeometry(d->hbar, 0+ xoffset, h-hsbExt, right,
1236 hsbExt );
1237 bottom=h-hsbExt;
1238 } else {
1239 bottom=h;
1240 }
1241 if ( showv ) {
1242 -clipper()->setGeometry( lmarg, tmarg,
1243 +clipper()->setGeometry( lmarg + xoffset, tmarg,
1244 w-vsbExt-lmarg-rmarg,
1245 bottom-tmarg-bmarg );
1246 d->viewportResized( w-vsbExt-lmarg-rmarg, bottom-tmarg-bmarg );
1247 if ( style() == WindowsStyle )
1248 - changeFrameRect(QRect(0, 0, w, h) );
1249 + changeFrameRect(QRect(xoffset, 0, w, h) );
1250 else
1251 - changeFrameRect(QRect(0, 0, w-vsbExt, bottom));
1252 + changeFrameRect(QRect(xoffset, 0, w-vsbExt, bottom));
1253 if (cornerWidget()) {
1254 if ( style() == WindowsStyle )
1255- setVBarGeometry( d->vbar, w-vsbExt-fw,
1256- fw, vsbExt,
1257- h-hsbExt-fw-fw );
1258+ setVBarGeometry( d->vbar, xpos,
1259+ ypos, vsbExt,
1260+ bottom-fw-ypos );
1261 else
1262- setVBarGeometry( d->vbar, w-vsbExt, 0,
1263+ setVBarGeometry( d->vbar, xpos, ypos,
1264 vsbExt,
1265- h-hsbExt );
1266+ bottom-ypos );
1267 }
1268 else {
1269 if ( style() == WindowsStyle )
1270- setVBarGeometry( d->vbar, w-vsbExt-fw,
1271- fw, vsbExt,
1272- bottom-fw-fw );
1273+ setVBarGeometry( d->vbar, xpos,
1274+ ypos, vsbExt,
1275+ bottom-fw-ypos );
1276 else
1277- setVBarGeometry( d->vbar, w-vsbExt, 0,
1278- vsbExt, bottom );
1279+ setVBarGeometry( d->vbar, xpos, ypos,
1280+ vsbExt, bottom-ypos );
1281 }
1282 } else {
1283 if ( style() == WindowsStyle )
1284@@ -837,12 +848,12 @@
1285 }
1286 if ( d->corner ) {
1287 if ( style() == WindowsStyle )
1288- d->corner->setGeometry( w-vsbExt-fw,
1289+ d->corner->setGeometry( xpos,
1290 h-hsbExt-fw,
1291 vsbExt,
1292 hsbExt );
1293 else
1294- d->corner->setGeometry( w-vsbExt,
1295+ d->corner->setGeometry( xpos,
1296 h-hsbExt,
1297 vsbExt,
1298 hsbExt );
1299@@ -1266,6 +1277,9 @@
1300 case QEvent::LayoutHint:
1301 d->autoResizeHint(this);
1302 break;
1303 +case QEvent::WindowActivate:
1304 +case QEvent::WindowDeactivate:
1305 + return TRUE;
1306 default:
1307 break;
1308 }
1309@@ -1675,7 +1689,7 @@
1310 }
1311
1312 /*!
1313- Scrolls the content by \a x to the left and \a y upwards.
1314+ Scrolls the content by \a dx to the left and \a dy upwards.
1315 */
1316 void QScrollView::scrollBy( int dx, int dy )
1317 {
1318diff -ur qt-2.3.7-old/src/widgets/qtoolbutton.cpp qt-2.3.7/src/widgets/qtoolbutton.cpp
1319 --- qt-2.3.7-old/src/widgets/qtoolbutton.cpp2004-07-23 15:22:56.000000000 +0200
1320 +++ qt-2.3.7/src/widgets/qtoolbutton.cpp2004-07-23 15:38:13.000000000 +0200
1321@@ -230,7 +230,7 @@
1322 else
1323 QToolTip::add( this, textLabel );
1324 }
1325 -#endif
1326+#endif
1327 }
1328
1329
1330@@ -324,12 +324,12 @@
1331 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
1332 w = pm.width();
1333 h = pm.height();
1334 -if ( w < 32 )
1335 - w = 32;
1336 -if ( h < 32 )
1337 - h = 32;
1338 +if ( w < 24 )
1339 + w = 24;
1340 +if ( h < 24 )
1341 + h = 24;
1342 } else {
1343 -w = h = 16;
1344 +w = h = 14;
1345 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
1346 w = pm.width();
1347 h = pm.height();
1348diff -ur qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp qt-2.3.7/src/kernel/qgfxvnc_qws.cpp
1349 --- qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp2004-09-10 21:08:04.000000000 +0200
1350 +++ qt-2.3.7/src/kernel/qgfxvnc_qws.cpp2004-09-10 21:10:54.000000000 +0200
1351@@ -971,7 +971,7 @@
1352 void QGfxVNC<depth,type>::drawPoint( int x, int y )
1353 {
1354 QWSDisplay::grab( TRUE );
1355- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) & clipbounds );
1356+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) & this->clipbounds );
1357 QGfxRaster<depth,type>::drawPoint( x, y );
1358 QWSDisplay::ungrab();
1359 }
1360@@ -981,8 +981,8 @@
1361 {
1362 QWSDisplay::grab( TRUE );
1363 QRect r = pa.boundingRect();
1364- r.moveBy( xoffs, yoffs );
1365- qvnc_screen->setDirty( r & clipbounds );
1366+ r.moveBy( this->xoffs, this->yoffs );
1367+ qvnc_screen->setDirty( r & this->clipbounds );
1368 QGfxRaster<depth,type>::drawPoints( pa, x, y );
1369 QWSDisplay::ungrab();
1370 }
1371@@ -992,9 +992,9 @@
1372 {
1373 QWSDisplay::grab( TRUE );
1374 QRect r;
1375- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs );
1376+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs );
1377 r = r.normalize();
1378- qvnc_screen->setDirty( r & clipbounds );
1379+ qvnc_screen->setDirty( r & this->clipbounds );
1380 QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
1381 QWSDisplay::ungrab();
1382 }
1383@@ -1003,7 +1003,7 @@
1384 void QGfxVNC<depth,type>::fillRect( int x,int y,int w,int h )
1385 {
1386 QWSDisplay::grab( TRUE );
1387- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds );
1388+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds );
1389 QGfxRaster<depth,type>::fillRect( x, y, w, h );
1390 QWSDisplay::ungrab();
1391 }
1392@@ -1013,8 +1013,8 @@
1393 {
1394 QWSDisplay::grab( TRUE );
1395 QRect r = pa.boundingRect();
1396- r.moveBy( xoffs, yoffs );
1397- qvnc_screen->setDirty( r & clipbounds );
1398+ r.moveBy( this->xoffs, this->yoffs );
1399+ qvnc_screen->setDirty( r & this->clipbounds );
1400 QGfxRaster<depth,type>::drawPolyline( pa, x, y );
1401 QWSDisplay::ungrab();
1402 }
1403@@ -1024,8 +1024,8 @@
1404 {
1405 QWSDisplay::grab( TRUE );
1406 QRect r = pa.boundingRect();
1407- r.moveBy( xoffs, yoffs );
1408- qvnc_screen->setDirty( r & clipbounds );
1409+ r.moveBy( this->xoffs, this->yoffs );
1410+ qvnc_screen->setDirty( r & this->clipbounds );
1411 QGfxRaster<depth,type>::drawPolygon( pa, w, x, y );
1412 QWSDisplay::ungrab();
1413 }
1414@@ -1034,7 +1034,7 @@
1415 void QGfxVNC<depth,type>::blt( int x,int y,int w,int h, int sx, int sy )
1416 {
1417 QWSDisplay::grab( TRUE );
1418- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds );
1419+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds );
1420 QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy );
1421 QWSDisplay::ungrab();
1422 }
1423@@ -1045,8 +1045,8 @@
1424 QWSDisplay::grab( TRUE );
1425 int dy = sy - y;
1426 int dx = sx - x;
1427- qvnc_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs,
1428 - w+abs(dx), h+abs(dy)) & clipbounds );
1429+ qvnc_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs,
1430 + w+abs(dx), h+abs(dy)) & this->clipbounds );
1431 QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy );
1432 QWSDisplay::ungrab();
1433 }
1434@@ -1056,7 +1056,7 @@
1435 void QGfxVNC<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy )
1436 {
1437 QWSDisplay::grab( TRUE );
1438- qvnc_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) & clipbounds );
1439+ qvnc_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds );
1440 QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy );
1441 QWSDisplay::ungrab();
1442 }
1443@@ -1066,7 +1066,7 @@
1444 void QGfxVNC<depth,type>::tiledBlt( int x,int y,int w,int h )
1445 {
1446 QWSDisplay::grab( TRUE );
1447- qvnc_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) & clipbounds );
1448+ qvnc_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds );
1449 QGfxRaster<depth,type>::tiledBlt( x, y, w, h );
1450 QWSDisplay::ungrab();
1451 }
1452diff -ur qt-2.3.7_old/src/kernel/qwsdecoration_qws.h qt-2.3.7/src/kernel/qwsdecoration_qws.h
1453 --- qt-2.3.7_old/src/kernel/qwsdecoration_qws.h2003-07-17 03:20:26.000000000 +0200
1454 +++ qt-2.3.7/src/kernel/qwsdecoration_qws.h2004-09-13 15:44:13.000000000 +0200
1455@@ -50,7 +50,7 @@
1456 enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6,
1457 TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10,
1458 Close=11, Minimize=12, Maximize=13, Normalize=14,
1459 - Menu=15, LastRegion=Menu };
1460 + Menu=15, LastRegion=Menu, UserDefined = 100 };
1461
1462 virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0;
1463 virtual void close( QWidget * );
diff --git a/qt/qt-2.3.7.patch/qte237-allowoverride.patch b/qt/qt-2.3.7.patch/qte237-allowoverride.patch
deleted file mode 100644
index e0629f6..0000000
--- a/qt/qt-2.3.7.patch/qte237-allowoverride.patch
+++ b/dev/null
@@ -1,229 +0,0 @@
1Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used
2to be multiplied with 10, some apps get confused by that and
3in Opie we allow to work around for specefic application
4
5Courtsey to Robert 'sandman' Griebl
6
7
8
9
10
11
12
13
14diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp
15 --- qt-2.3.7-old/src/kernel/qapplication.cpp2004-07-23 15:22:56.000000000 +0200
16 +++ qt-2.3.7/src/kernel/qapplication.cpp2004-07-23 15:25:42.000000000 +0200
17@@ -35,6 +35,8 @@
18 **
19 **********************************************************************/
20
21 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
22+
23 #include "qobjectlist.h"
24 #include "qobjectdict.h"
25 #include "qapplication.h"
26@@ -933,11 +935,16 @@
27 #ifndef QT_NO_STYLE
28 void QApplication::setStyle( QStyle *style )
29 {
30 +setStyle_NonWeak ( style );
31+}
32+
33+void QApplication::setStyle_NonWeak( QStyle *style )
34+{
35 QStyle* old = app_style;
36- app_style = style;
37
38 if ( startingUp() ) {
39 delete old;
40 +app_style = style;
41 return;
42 }
43
44@@ -958,6 +965,8 @@
45 old->unPolish( qApp );
46 }
47
48+ app_style = style;
49+
50 // take care of possible palette requirements of certain gui
51 // styles. Do it before polishing the application since the style
52 // might call QApplication::setStyle() itself
53@@ -1184,13 +1193,30 @@
54 \sa QWidget::setPalette(), palette(), QStyle::polish()
55 */
56
57-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
58+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
59 + const char* className )
60+{
61 +setPalette_NonWeak ( palette, informWidgets, className );
62+}
63+
64+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
65 const char* className )
66 {
67 QPalette pal = palette;
68 #ifndef QT_NO_STYLE
69- if ( !startingUp() )
70+ if ( !startingUp() ) {
71 qApp->style().polish( pal );// NB: non-const reference
72 +if ( className ) {
73 + // if we just polished a class specific palette (this normally
74 + // only called by qt_fix_tooltips - see below), we better re-
75 + // polish the global palette. Some styles like liquid can get
76 + // confused, because they can not detect if the polished palette
77 + // is the global one or only a class specific one.
78 + // (liquid uses this palette to calculate blending pixmaps)
79 + QPalette p = qApp-> palette ( );
80 + qApp->style().polish ( p );
81 +}
82+ }
83 #endif
84 bool all = FALSE;
85 if ( !className ) {
86@@ -1275,6 +1301,12 @@
87 void QApplication::setFont( const QFont &font, bool informWidgets,
88 const char* className )
89 {
90 +setFont_NonWeak ( font, informWidgets, className );
91+}
92+
93+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
94 + const char* className )
95+{
96 bool all = FALSE;
97 if ( !className ) {
98 if ( !app_font ) {
99diff -ur qt-2.3.7-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h
100 --- qt-2.3.7-old/src/kernel/qapplication.h2004-07-23 15:22:56.000000000 +0200
101 +++ qt-2.3.7/src/kernel/qapplication.h2004-07-23 15:25:42.000000000 +0200
102@@ -61,6 +61,10 @@
103 class QSemaphore;
104 #endif
105
106+#if !defined( QT_WEAK_SYMBOL )
107+#define QT_WEAK_SYMBOL
108+#endif
109+
110 // REMOVE IN 3.0 (just here for moc source compatibility)
111 #define QNonBaseApplication QApplication
112
113@@ -85,7 +89,10 @@
114
115 #ifndef QT_NO_STYLE
116 static QStyle &style();
117 - static void setStyle( QStyle* );
118 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
119+private:
120 +static void setStyle_NonWeak( QStyle* );
121+public:
122 #endif
123 #if 1/* OBSOLETE */
124 enum ColorMode { NormalColors, CustomColors };
125@@ -106,11 +113,19 @@
126 #ifndef QT_NO_PALETTE
127 static QPalette palette( const QWidget* = 0 );
128 static void setPalette( const QPalette &, bool informWidgets=FALSE,
129 + const char* className = 0 ) QT_WEAK_SYMBOL;
130+private:
131 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
132 const char* className = 0 );
133+public:
134 #endif
135 static QFont font( const QWidget* = 0 );
136 static void setFont( const QFont &, bool informWidgets=FALSE,
137 + const char* className = 0 ) QT_WEAK_SYMBOL;
138+private:
139 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
140 const char* className = 0 );
141 +public:
142 static QFontMetrics fontMetrics();
143
144 QWidget *mainWidget() const;
145@@ -207,7 +222,10 @@
146 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
147 #ifndef QT_NO_QWS_MANAGER
148 static QWSDecoration &qwsDecoration();
149- static void qwsSetDecoration( QWSDecoration *);
150+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
151+private:
152+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
153+public:
154 #endif
155 #endif
156
157diff -ur qt-2.3.7-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp
158 --- qt-2.3.7-old/src/kernel/qapplication_qws.cpp2004-07-23 15:22:56.000000000 +0200
159 +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-23 15:25:42.000000000 +0200
160@@ -2804,6 +2804,11 @@
161 */
162 void QApplication::qwsSetDecoration( QWSDecoration *d )
163 {
164 +qwsSetDecoration_NonWeak ( d );
165+}
166+
167+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
168+{
169 if ( d ) {
170 delete qws_decoration;
171 qws_decoration = d;
172diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp
173 --- qt-2.3.7-old/src/kernel/qfontdatabase.cpp2004-07-23 15:22:56.000000000 +0200
174 +++ qt-2.3.7/src/kernel/qfontdatabase.cpp2004-07-23 15:25:42.000000000 +0200
175@@ -35,6 +35,8 @@
176 **
177 **********************************************************************/
178
179+#define QT_WEAK_SYMBOL __attribute__(( weak ))
180+
181 #include "qfontdatabase.h"
182
183 #ifndef QT_NO_FONTDATABASE
184@@ -2424,6 +2426,13 @@
185 const QString &style,
186 const QString &charSet )
187 {
188 +return pointSizes_NonWeak ( family, style, charSet );
189+}
190+
191+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
192+ const QString &style,
193+ const QString &charSet )
194+{
195 QString cs( charSet );
196 if ( charSet.isEmpty() ) {
197 QStringList lst = charSets( family );
198diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h
199 --- qt-2.3.7-old/src/kernel/qfontdatabase.h2004-07-23 15:22:56.000000000 +0200
200 +++ qt-2.3.7/src/kernel/qfontdatabase.h2004-07-23 15:25:42.000000000 +0200
201@@ -59,6 +59,10 @@
202 class QDiskFont;
203 #endif
204
205+#if !defined( QT_WEAK_SYMBOL )
206+#define QT_WEAK_SYMBOL
207+#endif
208+
209 class QFontDatabasePrivate;
210
211 class Q_EXPORT QFontDatabase
212@@ -67,9 +71,16 @@
213 QFontDatabase();
214
215 QStringList families( bool onlyForLocale = TRUE ) const;
216+
217+
218 QValueList<int> pointSizes( const QString &family,
219 const QString &style = QString::null,
220 - const QString &charSet = QString::null );
221 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
222+private:
223+ QValueList<int> pointSizes_NonWeak( const QString &family,
224 + const QString &style,
225 + const QString &charSet );
226+public:
227 QStringList styles( const QString &family,
228 const QString &charSet = QString::null ) const;
229 QStringList charSets( const QString &familyName,
diff --git a/qt/qt-2.3.7.patch/qte237-encoding.patch b/qt/qt-2.3.7.patch/qte237-encoding.patch
deleted file mode 100644
index c2f5c08..0000000
--- a/qt/qt-2.3.7.patch/qte237-encoding.patch
+++ b/dev/null
@@ -1,49 +0,0 @@
1German umlaute quite likely french, italian, spanish did
2not work due QFile::[decode,encode]Name did call QString
3local8Bit,fromLocal8Bit which plainly tried to use utf8
4encoding even if not useful. So a filename got changed
5and QFileInfo recognized the file not beeing present anymore...
6which lead to files not be shown.
7Also with Year-Names problem exists as the base system sent
8it encoded upstream.
9
10If you want to have UTF-8 encoding use LC_CTYPE as always and
11QTextCodec::codecForLocale will use the right UTF-8 encoding.
12
13As fallback the old behaviour was preserved
14
15
16
17
18
19
20
21 --- qt-2.3.7-old/src/tools/qstring.cpp2004-07-23 14:33:02.000000000 +0200
22 +++ qt-2.3.7/src/tools/qstring.cpp2004-07-23 14:32:31.000000000 +0200
23@@ -14469,7 +14469,11 @@
24 return qt_winQString2MB( *this );
25 #endif
26 #ifdef _WS_QWS_
27- return utf8(); // ##### if there is ANY 8 bit format supported?
28+ QTextCodec* codec = QTextCodec::codecForLocale();
29+ return codec
30 + ? codec->fromUnicode(*this)
31 + : utf8();
32+ //return latin1(); // ##### if there is ANY 8 bit format supported?
33 #endif
34 #endif
35 }
36@@ -14515,7 +14519,12 @@
37 return qt_winMB2QString( local8Bit );
38 #endif
39 #ifdef _WS_QWS_
40- return fromUtf8(local8Bit,len);
41+ QTextCodec* codec = QTextCodec::codecForLocale();
42+ if( len < 0) len = qstrlen(local8Bit);
43+ return codec
44 + ? codec->toUnicode(local8Bit, len)
45 + : QString::fromUtf8(local8Bit,len);
46+// return fromLatin1(local8Bit,len);
47 #endif
48 #endif // QT_NO_TEXTCODEC
49 }
diff --git a/qt/qt-2.3.7.patch/qte237-g++-aslinker.patch b/qt/qt-2.3.7.patch/qte237-g++-aslinker.patch
deleted file mode 100644
index 1ae72e9..0000000
--- a/qt/qt-2.3.7.patch/qte237-g++-aslinker.patch
+++ b/dev/null
@@ -1,161 +0,0 @@
1GCC3 requires libstdc++ for virtual all C++ application
2linking with gcc would trigger unresolved symbols like
3new, delete, pure_virtual etc.
4
5This is the safe one which works with gcc2 and gcc3. If you do
6not want the stdc++ dependency link with gcc and add -lsupc++ to the
7library dependency
8
9
10
11
12
13
14
15
16
17
18diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared qt-2.3.7/configs/linux-generic-g++-shared
19 --- qt-2.3.7-old/configs/linux-generic-g++-shared2004-07-23 15:22:56.000000000 +0200
20 +++ qt-2.3.7/configs/linux-generic-g++-shared2004-07-23 15:23:12.000000000 +0200
21@@ -36,7 +36,7 @@
22 SYSCONF_LIBS_YACC=
23
24 # Linking applications
25 -SYSCONF_LINK = gcc
26 +SYSCONF_LINK = g++
27 SYSCONF_LFLAGS =
28 SYSCONF_LIBS =
29
30diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared-debug qt-2.3.7/configs/linux-generic-g++-shared-debug
31 --- qt-2.3.7-old/configs/linux-generic-g++-shared-debug2004-07-23 15:22:56.000000000 +0200
32 +++ qt-2.3.7/configs/linux-generic-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
33@@ -36,7 +36,7 @@
34 SYSCONF_LIBS_YACC=
35
36 # Linking applications
37 -SYSCONF_LINK = gcc
38 +SYSCONF_LINK = g++
39 SYSCONF_LFLAGS =
40 SYSCONF_LIBS =
41
42diff -ur qt-2.3.7-old/configs/linux-generic-g++-static qt-2.3.7/configs/linux-generic-g++-static
43 --- qt-2.3.7-old/configs/linux-generic-g++-static2004-07-23 15:22:56.000000000 +0200
44 +++ qt-2.3.7/configs/linux-generic-g++-static2004-07-23 15:23:12.000000000 +0200
45@@ -36,7 +36,7 @@
46 SYSCONF_LIBS_YACC=
47
48 # Linking applications
49 -SYSCONF_LINK = gcc
50 +SYSCONF_LINK = g++
51 SYSCONF_LFLAGS =
52 SYSCONF_LIBS =
53
54diff -ur qt-2.3.7-old/configs/linux-generic-g++-static-debug qt-2.3.7/configs/linux-generic-g++-static-debug
55 --- qt-2.3.7-old/configs/linux-generic-g++-static-debug2004-07-23 15:22:56.000000000 +0200
56 +++ qt-2.3.7/configs/linux-generic-g++-static-debug2004-07-23 15:23:12.000000000 +0200
57@@ -36,7 +36,7 @@
58 SYSCONF_LIBS_YACC=
59
60 # Linking applications
61 -SYSCONF_LINK = gcc
62 +SYSCONF_LINK = g++
63 SYSCONF_LFLAGS =
64 SYSCONF_LIBS =
65
66diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared qt-2.3.7/configs/linux-generic_rtti-g++-shared
67 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared2004-07-23 15:22:56.000000000 +0200
68 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared2004-07-23 15:23:12.000000000 +0200
69@@ -36,7 +36,7 @@
70 SYSCONF_LIBS_YACC=
71
72 # Linking applications
73 -SYSCONF_LINK = gcc
74 +SYSCONF_LINK = g++
75 SYSCONF_LFLAGS =
76 SYSCONF_LIBS =
77
78diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug
79 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug2004-07-23 15:22:56.000000000 +0200
80 +++ qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
81@@ -36,7 +36,7 @@
82 SYSCONF_LIBS_YACC=
83
84 # Linking applications
85 -SYSCONF_LINK = gcc
86 +SYSCONF_LINK = g++
87 SYSCONF_LFLAGS =
88 SYSCONF_LIBS =
89
90diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static qt-2.3.7/configs/linux-generic_rtti-g++-static
91 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-static2004-07-23 15:22:56.000000000 +0200
92 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static2004-07-23 15:23:12.000000000 +0200
93@@ -36,7 +36,7 @@
94 SYSCONF_LIBS_YACC=
95
96 # Linking applications
97 -SYSCONF_LINK = gcc
98 +SYSCONF_LINK = g++
99 SYSCONF_LFLAGS =
100 SYSCONF_LIBS =
101
102diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug qt-2.3.7/configs/linux-generic_rtti-g++-static-debug
103 --- qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug2004-07-23 15:22:56.000000000 +0200
104 +++ qt-2.3.7/configs/linux-generic_rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200
105@@ -36,7 +36,7 @@
106 SYSCONF_LIBS_YACC=
107
108 # Linking applications
109 -SYSCONF_LINK = gcc
110 +SYSCONF_LINK = g++
111 SYSCONF_LFLAGS =
112 SYSCONF_LIBS =
113
114diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared qt-2.3.7/configs/linux-x86rtti-g++-shared
115 --- qt-2.3.7-old/configs/linux-x86rtti-g++-shared2004-07-23 15:22:56.000000000 +0200
116 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared2004-07-23 15:23:12.000000000 +0200
117@@ -36,7 +36,7 @@
118 SYSCONF_LIBS_YACC=
119
120 # Linking applications
121 -SYSCONF_LINK = gcc
122 +SYSCONF_LINK = g++
123 SYSCONF_LFLAGS =
124 SYSCONF_LIBS = -lm
125
126diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug qt-2.3.7/configs/linux-x86rtti-g++-shared-debug
127 --- qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:22:56.000000000 +0200
128 +++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug2004-07-23 15:23:12.000000000 +0200
129@@ -36,7 +36,7 @@
130 SYSCONF_LIBS_YACC=
131
132 # Linking applications
133 -SYSCONF_LINK = gcc
134 +SYSCONF_LINK = g++
135 SYSCONF_LFLAGS =
136 SYSCONF_LIBS = -lm
137
138diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x86rtti-g++-static
139 --- qt-2.3.7-old/configs/linux-x86rtti-g++-static2004-07-23 15:22:56.000000000 +0200
140 +++ qt-2.3.7/configs/linux-x86rtti-g++-static2004-07-23 15:23:12.000000000 +0200
141@@ -36,7 +36,7 @@
142 SYSCONF_LIBS_YACC=
143
144 # Linking applications
145 -SYSCONF_LINK = gcc
146 +SYSCONF_LINK = g++
147 SYSCONF_LFLAGS =
148 SYSCONF_LIBS = -lm
149
150diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug
151 --- qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug2004-07-23 15:22:56.000000000 +0200
152 +++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug2004-07-23 15:23:12.000000000 +0200
153@@ -36,7 +36,7 @@
154 SYSCONF_LIBS_YACC=
155
156 # Linking applications
157 -SYSCONF_LINK = gcc
158 +SYSCONF_LINK = g++
159 SYSCONF_LFLAGS =
160 SYSCONF_LIBS = -lm
161
diff --git a/qt/qt-2.3.7.patch/qte237-gcc34.patch b/qt/qt-2.3.7.patch/qte237-gcc34.patch
deleted file mode 100644
index a7f1681..0000000
--- a/qt/qt-2.3.7.patch/qte237-gcc34.patch
+++ b/dev/null
@@ -1,510 +0,0 @@
1diff -ur qt-2.3.7_old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp
2 --- qt-2.3.7_old/src/kernel/qgfxtransformed_qws.cpp2004-09-10 21:08:04.000000000 +0200
3 +++ qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp2004-09-10 21:08:42.000000000 +0200
4@@ -671,11 +671,11 @@
5 inline int tx( int x, int y ) {
6 switch ( qt_trans_screen->transformation() ) {
7 case QTransformedScreen::Rot90:
8 - return y - xoffs + yoffs;
9 + return y - this->xoffs + this->yoffs;
10 case QTransformedScreen::Rot180:
11 - return (width - x - 1) - xoffs - xoffs;
12 + return (this->width - x - 1) - this->xoffs - this->xoffs;
13 case QTransformedScreen::Rot270:
14 - return (height - y - 1) - xoffs - yoffs;
15 + return (this->height - y - 1) - this->xoffs - this->yoffs;
16 default:
17 return x;
18 }
19@@ -683,11 +683,11 @@
20 inline int ty( int x, int y ) {
21 switch ( qt_trans_screen->transformation() ) {
22 case QTransformedScreen::Rot90:
23 - return (width - x - 1) - yoffs - xoffs;
24 + return (this->width - x - 1) - this->yoffs - this->xoffs;
25 case QTransformedScreen::Rot180:
26 - return (height - y - 1) - yoffs - yoffs;
27 + return (this->height - y - 1) - this->yoffs - this->yoffs;
28 case QTransformedScreen::Rot270:
29 - return x - yoffs + xoffs;
30 + return x - this->yoffs + this->xoffs;
31 default:
32 return y;
33 }
34@@ -715,23 +715,23 @@
35 template <const int depth, const int type>
36 void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y)
37 {
38- if ( srcbits == buffer ) {
39+ if ( this->srcbits == this->buffer ) {
40 switch ( qt_trans_screen->transformation() ) {
41 case QTransformedScreen::Rot90:
42 - srcwidgetoffs = QPoint( y, width - x - srcwidth );
43 + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth );
44 break;
45 case QTransformedScreen::Rot180:
46 - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight );
47 + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight );
48 break;
49 case QTransformedScreen::Rot270:
50 - srcwidgetoffs = QPoint( height - y - srcheight, x );
51 + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x );
52 break;
53 default:
54 - srcwidgetoffs = QPoint( x, y );
55 + this->srcwidgetoffs = QPoint( x, y );
56 break;
57 }
58 } else
59 -srcwidgetoffs = QPoint( x, y );
60 +this->srcwidgetoffs = QPoint( x, y );
61 }
62
63 template <const int depth, const int type>
64@@ -739,8 +739,8 @@
65 {
66 QT_TRANS_GFX_BASE<depth,type>::setSource(i);
67 QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) );
68- srcwidth = s.width();
69- srcheight = s.height();
70+ this->srcwidth = s.width();
71+ this->srcheight = s.height();
72 }
73
74 template <const int depth, const int type>
75@@ -782,7 +782,7 @@
76 if ( w == 0 || h == 0 )
77 return;
78 QRect r( x, y, w, h );
79- if ( cbrush.style() == SolidPattern ) {
80+ if ( this->cbrush.style() == Qt::SolidPattern ) {
81 r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) );
82 r = r.normalize();
83 }
84@@ -797,7 +797,7 @@
85 // solution. The brush offset logic is complicated enough, so we don't
86 // fastpath patternedbrush.
87
88- if ( inDraw || cpen.style()==NoPen || patternedbrush ) {
89+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) {
90 //slowpath
91 QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num );
92 } else {
93@@ -819,29 +819,29 @@
94 template <const int depth, const int type>
95 void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width )
96 {
97- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) {
98+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) {
99 //in the patternedbrush case, we let blt do the transformation
100 // so we leave inDraw false.
101 - QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
102 +QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
103 } else {
104 inDraw = TRUE;
105 while (n--) {
106 if ( *width > 0 ) {
107 - int x=tx(point->x(),point->y())+xoffs;
108 - int y=ty(point->x(),point->y())+yoffs;
109 + int x=tx(point->x(),point->y())+this->xoffs;
110 + int y=ty(point->x(),point->y())+this->yoffs;
111
112 switch( qt_trans_screen->transformation() ) {
113 case QTransformedScreen::Rot90:
114 - vline( x, y-(*width-1), y );
115 + this->vline( x, y-(*width-1), y );
116 break;
117 case QTransformedScreen::Rot180:
118 - hline( x - (*width-1), x, y );
119 + this->hline( x - (*width-1), x, y );
120 break;
121 case QTransformedScreen::Rot270:
122 - vline( x, y, y+*width-1 );
123 + this->vline( x, y, y+*width-1 );
124 break;
125 default:
126 - hline( x, x+*width-1, y );
127 + this->hline( x, x+*width-1, y );
128 break;
129 }
130 }
131@@ -896,14 +896,14 @@
132 switch ( qt_trans_screen->transformation() ) {
133 case QTransformedScreen::Rot90:
134 rsx = sy;
135 - rsy = srcwidth - sx - w;
136 + rsy = this->srcwidth - sx - w;
137 break;
138 case QTransformedScreen::Rot180:
139 - rsx = srcwidth - sx - w;
140 - rsy = srcheight - sy - h;
141 + rsx = this->srcwidth - sx - w;
142 + rsy = this->srcheight - sy - h;
143 break;
144 case QTransformedScreen::Rot270:
145 - rsx = srcheight - sy - h;
146 + rsx = this->srcheight - sy - h;
147 rsy = sx;
148 break;
149 default:
150@@ -941,39 +941,39 @@
151 r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) );
152 r = r.normalize();
153
154- QPoint oldBrushOffs = brushoffs;
155+ QPoint oldBrushOffs = this->brushoffs;
156 int brx, bry;
157 switch ( qt_trans_screen->transformation() ) {
158 case QTransformedScreen::Rot90:
159 - brx = brushoffs.y();
160 - bry = srcwidth - brushoffs.x() - w;
161 + brx = this->brushoffs.y();
162 + bry = this->srcwidth - this->brushoffs.x() - w;
163 break;
164 case QTransformedScreen::Rot180:
165 - brx = srcwidth - brushoffs.x() - w;
166 - bry = srcheight - brushoffs.y() - h;
167 + brx = this->srcwidth - this->brushoffs.x() - w;
168 + bry = this->srcheight - this->brushoffs.y() - h;
169 break;
170 case QTransformedScreen::Rot270:
171 - brx = srcheight - brushoffs.y() - h;
172 - bry = brushoffs.x();
173 + brx = this->srcheight - this->brushoffs.y() - h;
174 + bry = this->brushoffs.x();
175 break;
176 default:
177 - brx = brushoffs.x();
178 - bry = brushoffs.y();
179 + brx = this->brushoffs.x();
180 + bry = this->brushoffs.y();
181 break;
182 }
183- brushoffs = QPoint( brx, bry );
184+ this->brushoffs = QPoint( brx, bry );
185
186- int oldsw = srcwidth;
187- int oldsh = srcheight;
188- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) );
189- srcwidth = s.width();
190- srcheight = s.height();
191+ int oldsw = this->srcwidth;
192+ int oldsh = this->srcheight;
193+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) );
194+ this->srcwidth = s.width();
195+ this->srcheight = s.height();
196
197 QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() );
198
199- srcwidth = oldsw;
200- srcheight = oldsh;
201- brushoffs = oldBrushOffs;
202+ this->srcwidth = oldsw;
203+ this->srcheight = oldsh;
204+ this->brushoffs = oldBrushOffs;
205 inDraw = FALSE;
206 }
207
208diff -ur qt-2.3.7_old/src/kernel/qgfxvfb_qws.cpp qt-2.3.7/src/kernel/qgfxvfb_qws.cpp
209 --- qt-2.3.7_old/src/kernel/qgfxvfb_qws.cpp2004-09-10 21:08:04.000000000 +0200
210 +++ qt-2.3.7/src/kernel/qgfxvfb_qws.cpp2004-09-10 21:08:42.000000000 +0200
211@@ -31,7 +31,6 @@
212 **********************************************************************/
213
214 #include "qgfxraster_qws.h"
215-
216 #ifndef QT_NO_QWS_VFB
217
218 #include <sys/ipc.h>
219@@ -140,8 +139,8 @@
220 void QGfxVFb<depth,type>::drawPoint( int x, int y )
221 {
222 QWSDisplay::grab( TRUE );
223- if ( is_screen_gfx )
224 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) );
225+ if ( this->is_screen_gfx )
226 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) );
227 QGfxRaster<depth,type>::drawPoint( x, y );
228 QWSDisplay::ungrab();
229 }
230@@ -150,8 +149,8 @@
231 void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y )
232 {
233 QWSDisplay::grab( TRUE );
234- if ( is_screen_gfx )
235 -qvfb_screen->setDirty( clipbounds );
236+ if ( this->is_screen_gfx )
237 +qvfb_screen->setDirty( this->clipbounds );
238 QGfxRaster<depth,type>::drawPoints( pa, x, y );
239 QWSDisplay::ungrab();
240 }
241@@ -160,9 +159,9 @@
242 void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 )
243 {
244 QWSDisplay::grab( TRUE );
245- if ( is_screen_gfx ) {
246+ if ( this->is_screen_gfx ) {
247 QRect r;
248 -r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs );
249 +r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs );
250 qvfb_screen->setDirty( r.normalize() );
251 }
252 QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
253@@ -173,8 +172,8 @@
254 void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h )
255 {
256 QWSDisplay::grab( TRUE );
257- if ( is_screen_gfx )
258 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
259+ if ( this->is_screen_gfx )
260 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
261 QGfxRaster<depth,type>::fillRect( x, y, w, h );
262 QWSDisplay::ungrab();
263 }
264@@ -183,8 +182,8 @@
265 void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y )
266 {
267 QWSDisplay::grab( TRUE );
268- if ( is_screen_gfx )
269 -qvfb_screen->setDirty( clipbounds );
270+ if ( this->is_screen_gfx )
271 +qvfb_screen->setDirty( this->clipbounds );
272 QGfxRaster<depth,type>::drawPolyline( pa, x, y );
273 QWSDisplay::ungrab();
274 }
275@@ -193,8 +192,8 @@
276 void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y )
277 {
278 QWSDisplay::grab( TRUE );
279- if ( is_screen_gfx )
280 -qvfb_screen->setDirty( clipbounds );
281+ if ( this->is_screen_gfx )
282 +qvfb_screen->setDirty( this->clipbounds );
283 QGfxRaster<depth,type>::drawPolygon( pa, w, x, y );
284 QWSDisplay::ungrab();
285 }
286@@ -203,8 +202,8 @@
287 void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy )
288 {
289 QWSDisplay::grab( TRUE );
290- if ( is_screen_gfx )
291 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
292+ if ( this->is_screen_gfx )
293 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
294 QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy );
295 QWSDisplay::ungrab();
296 }
297@@ -215,8 +214,8 @@
298 QWSDisplay::grab( TRUE );
299 int dy = sy - y;
300 int dx = sx - x;
301- if ( is_screen_gfx )
302 -qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs,
303+ if ( this->is_screen_gfx )
304 +qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs,
305 w+abs(dx), h+abs(dy)) );
306 QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy );
307 QWSDisplay::ungrab();
308@@ -227,8 +226,8 @@
309 void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy )
310 {
311 QWSDisplay::grab( TRUE );
312- if ( is_screen_gfx )
313 -qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) );
314+ if ( this->is_screen_gfx )
315 +qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) );
316 QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy );
317 QWSDisplay::ungrab();
318 }
319@@ -238,8 +237,8 @@
320 void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h )
321 {
322 QWSDisplay::grab( TRUE );
323- if ( is_screen_gfx )
324 -qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) );
325+ if ( this->is_screen_gfx )
326 +qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) );
327 QGfxRaster<depth,type>::tiledBlt( x, y, w, h );
328 QWSDisplay::ungrab();
329 }
330diff -ur qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp qt-2.3.7/src/kernel/qgfxvnc_qws.cpp
331 --- qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp2004-09-10 21:08:04.000000000 +0200
332 +++ qt-2.3.7/src/kernel/qgfxvnc_qws.cpp2004-09-10 21:10:54.000000000 +0200
333@@ -971,7 +971,7 @@
334 void QGfxVNC<depth,type>::drawPoint( int x, int y )
335 {
336 QWSDisplay::grab( TRUE );
337- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) & clipbounds );
338+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) & this->clipbounds );
339 QGfxRaster<depth,type>::drawPoint( x, y );
340 QWSDisplay::ungrab();
341 }
342@@ -981,8 +981,8 @@
343 {
344 QWSDisplay::grab( TRUE );
345 QRect r = pa.boundingRect();
346- r.moveBy( xoffs, yoffs );
347- qvnc_screen->setDirty( r & clipbounds );
348+ r.moveBy( this->xoffs, this->yoffs );
349+ qvnc_screen->setDirty( r & this->clipbounds );
350 QGfxRaster<depth,type>::drawPoints( pa, x, y );
351 QWSDisplay::ungrab();
352 }
353@@ -992,9 +992,9 @@
354 {
355 QWSDisplay::grab( TRUE );
356 QRect r;
357- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs );
358+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs );
359 r = r.normalize();
360- qvnc_screen->setDirty( r & clipbounds );
361+ qvnc_screen->setDirty( r & this->clipbounds );
362 QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
363 QWSDisplay::ungrab();
364 }
365@@ -1003,7 +1003,7 @@
366 void QGfxVNC<depth,type>::fillRect( int x,int y,int w,int h )
367 {
368 QWSDisplay::grab( TRUE );
369- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds );
370+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds );
371 QGfxRaster<depth,type>::fillRect( x, y, w, h );
372 QWSDisplay::ungrab();
373 }
374@@ -1013,8 +1013,8 @@
375 {
376 QWSDisplay::grab( TRUE );
377 QRect r = pa.boundingRect();
378- r.moveBy( xoffs, yoffs );
379- qvnc_screen->setDirty( r & clipbounds );
380+ r.moveBy( this->xoffs, this->yoffs );
381+ qvnc_screen->setDirty( r & this->clipbounds );
382 QGfxRaster<depth,type>::drawPolyline( pa, x, y );
383 QWSDisplay::ungrab();
384 }
385@@ -1024,8 +1024,8 @@
386 {
387 QWSDisplay::grab( TRUE );
388 QRect r = pa.boundingRect();
389- r.moveBy( xoffs, yoffs );
390- qvnc_screen->setDirty( r & clipbounds );
391+ r.moveBy( this->xoffs, this->yoffs );
392+ qvnc_screen->setDirty( r & this->clipbounds );
393 QGfxRaster<depth,type>::drawPolygon( pa, w, x, y );
394 QWSDisplay::ungrab();
395 }
396@@ -1034,7 +1034,7 @@
397 void QGfxVNC<depth,type>::blt( int x,int y,int w,int h, int sx, int sy )
398 {
399 QWSDisplay::grab( TRUE );
400- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds );
401+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds );
402 QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy );
403 QWSDisplay::ungrab();
404 }
405@@ -1045,8 +1045,8 @@
406 QWSDisplay::grab( TRUE );
407 int dy = sy - y;
408 int dx = sx - x;
409- qvnc_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs,
410 - w+abs(dx), h+abs(dy)) & clipbounds );
411+ qvnc_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs,
412 + w+abs(dx), h+abs(dy)) & this->clipbounds );
413 QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy );
414 QWSDisplay::ungrab();
415 }
416@@ -1056,7 +1056,7 @@
417 void QGfxVNC<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy )
418 {
419 QWSDisplay::grab( TRUE );
420- qvnc_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) & clipbounds );
421+ qvnc_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds );
422 QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy );
423 QWSDisplay::ungrab();
424 }
425@@ -1066,7 +1066,7 @@
426 void QGfxVNC<depth,type>::tiledBlt( int x,int y,int w,int h )
427 {
428 QWSDisplay::grab( TRUE );
429- qvnc_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) & clipbounds );
430+ qvnc_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds );
431 QGfxRaster<depth,type>::tiledBlt( x, y, w, h );
432 QWSDisplay::ungrab();
433 }
434diff -ur qt-2.3.7_old/src/tools/qcstring.h qt-2.3.7/src/tools/qcstring.h
435 --- qt-2.3.7_old/src/tools/qcstring.h2004-09-10 21:08:04.000000000 +0200
436 +++ qt-2.3.7/src/tools/qcstring.h2004-09-10 21:08:42.000000000 +0200
437@@ -119,7 +119,7 @@
438 // We want to keep source compatibility for 2.x
439 // ### TODO for 4.0: completely remove these and the cstr* functions
440
441-#if !defined(QT_GENUINE_STR)
442+#if 0
443
444 #undefstrlen
445 #define strlen qstrlen
446diff -ur qt-2.3.7_old/src/tools/qglobal.h qt-2.3.7/src/tools/qglobal.h
447 --- qt-2.3.7_old/src/tools/qglobal.h2004-09-10 21:08:04.000000000 +0200
448 +++ qt-2.3.7/src/tools/qglobal.h2004-09-10 21:08:42.000000000 +0200
449@@ -207,8 +207,16 @@
450 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
451 #define Q_FP_CCAST_BROKEN
452 #endif
453+/* ARM gcc pads structs to 32 bits, even when they contain a single
454+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
455+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
456+ members of a packed struct. (Pointers are OK, because then you
457+ supposedly know what you are doing.) */
458 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
459 #define Q_PACKED __attribute__ ((packed))
460+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
461+# define Q_NO_PACKED_REFERENCE
462+# endif
463 #endif
464 #elif defined(__xlC__)
465 #define _CC_XLC_
466diff -ur qt-2.3.7_old/src/tools/qsortedlist.h qt-2.3.7/src/tools/qsortedlist.h
467 --- qt-2.3.7_old/src/tools/qsortedlist.h2004-09-10 21:08:04.000000000 +0200
468 +++ qt-2.3.7/src/tools/qsortedlist.h2004-09-10 21:08:42.000000000 +0200
469@@ -48,7 +48,7 @@
470 public:
471 QSortedList() {}
472 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
473- ~QSortedList() { clear(); }
474+ ~QSortedList() { this->clear(); }
475 QSortedList<type> &operator=(const QSortedList<type> &l)
476 { return (QSortedList<type>&)QList<type>::operator=(l); }
477
478diff -ur qt-2.3.7_old/src/tools/qstring.h qt-2.3.7/src/tools/qstring.h
479 --- qt-2.3.7_old/src/tools/qstring.h2004-09-10 21:08:04.000000000 +0200
480 +++ qt-2.3.7/src/tools/qstring.h2004-09-10 21:08:42.000000000 +0200
481@@ -163,8 +163,16 @@
482 bool isLetterOrNumber() const;
483 bool isDigit() const;
484
485+
486+#ifdef Q_NO_PACKED_REFERENCE
487+ uchar& cell() { return *(&cl); }
488+ uchar& row() { return *(&rw); }
489+#else
490 uchar& cell() { return cl; }
491- uchar& row() { return rw; }
492+ uchar& row() { return rw; }
493+#endif
494+
495+
496 uchar cell() const { return cl; }
497 uchar row() const { return rw; }
498
499diff -ur qt-2.3.7_old/src/kernel/qwsdecoration_qws.h qt-2.3.7/src/kernel/qwsdecoration_qws.h
500 --- qt-2.3.7_old/src/kernel/qwsdecoration_qws.h2003-07-17 03:20:26.000000000 +0200
501 +++ qt-2.3.7/src/kernel/qwsdecoration_qws.h2004-09-13 15:44:13.000000000 +0200
502@@ -50,7 +50,7 @@
503 enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6,
504 TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10,
505 Close=11, Minimize=12, Maximize=13, Normalize=14,
506 - Menu=15, LastRegion=Menu };
507 + Menu=15, LastRegion=Menu, UserDefined = 100 };
508
509 virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0;
510 virtual void close( QWidget * );
diff --git a/qt/qt-2.3.7.patch/qte237-hancomwordcrash.patch b/qt/qt-2.3.7.patch/qte237-hancomwordcrash.patch
deleted file mode 100644
index f5b26ea..0000000
--- a/qt/qt-2.3.7.patch/qte237-hancomwordcrash.patch
+++ b/dev/null
@@ -1,14 +0,0 @@
1Not included in the ALL patch
2
3
4 --- qt-2.3.7-old/src/kernel/qgfxraster_qws.cpp2004-07-23 15:22:56.000000000 +0200
5 +++ qt-2.3.7/src/kernel/qgfxraster_qws.cpp2004-07-23 15:29:16.000000000 +0200
6@@ -4237,7 +4237,7 @@
7 setAlphaType(IgnoreAlpha);
8 if ( w <= 0 || h <= 0 || !ncliprect ) return;
9 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
10-#ifdef QWS_EXPERIMENTAL_FASTPATH
11+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
12 // ### fix for 8bpp
13 // This seems to be reliable now, at least for 16bpp
14
diff --git a/qt/qt-2.3.7.patch/qte237-keyboard.patch b/qt/qt-2.3.7.patch/qte237-keyboard.patch
deleted file mode 100644
index b644fd7..0000000
--- a/qt/qt-2.3.7.patch/qte237-keyboard.patch
+++ b/dev/null
@@ -1,43 +0,0 @@
1Free the Virtual Terminal and Keyboard on a segfault in all cases...
2
3
4 --- qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp2004-07-23 15:22:56.000000000 +0200
5 +++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp2004-07-23 15:33:47.000000000 +0200
6@@ -844,6 +844,18 @@
7 {
8 }
9
10+static void catchSegvSignal( int )
11+{
12+#ifndef QT_NO_QWS_KEYBOARD
13+ if ( qwsServer )
14 +qwsServer->closeKeyboard();
15+#endif
16+ QWSServer::closedown();
17+ fprintf(stderr, "Segmentation fault.\n");
18+ exit(1);
19+}
20+
21+
22 /*!
23 \class QWSServer qwindowsystem_qws.h
24 \brief Server-specific functionality in Qt/Embedded
25@@ -936,6 +948,7 @@
26 }
27
28 signal(SIGPIPE, ignoreSignal); //we get it when we read
29+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
30 #endif
31 focusw = 0;
32 mouseGrabber = 0;
33 --- qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp2004-07-23 15:22:56.000000000 +0200
34 +++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp2004-07-23 15:33:46.000000000 +0200
35@@ -238,7 +238,7 @@
36 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63
37 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64
38 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65
39 - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66
40+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
41 { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
42 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68
43 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69
diff --git a/qt/qt-2.3.7.patch/qte237-lefthand.patch b/qt/qt-2.3.7.patch/qte237-lefthand.patch
deleted file mode 100644
index 1287430..0000000
--- a/qt/qt-2.3.7.patch/qte237-lefthand.patch
+++ b/dev/null
@@ -1,133 +0,0 @@
1Backport of the LeftHand patch from Qt2.3.8
2
3Puts Scrollbar on the left for people using the right hand
4to hold the devices
5
6
7
8diff -u qt-2.3.7_orig/src/widgets/qscrollview.cpp qt-2.3.7/src/widgets/qscrollview.cpp
9 --- qt-2.3.7_orig/src/widgets/qscrollview.cpp2004-06-13 20:42:54.000000000 +0200
10 +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-06-13 20:45:16.000000000 +0200
11@@ -526,15 +526,16 @@
12 this, SLOT( doDragAutoScroll() ) );
13 #endif
14
15- connect( &d->hbar, SIGNAL( valueChanged( int ) ),
16 -this, SLOT( hslide( int ) ) );
17- connect( &d->vbar, SIGNAL( valueChanged( int ) ),
18 -this, SLOT( vslide( int ) ) );
19+ connect( &d->hbar, SIGNAL( valueChanged(int) ),
20 +this, SLOT( hslide(int) ) );
21+ connect( &d->vbar, SIGNAL( valueChanged(int) ),
22 +this, SLOT( vslide(int) ) );
23 d->viewport.installEventFilter( this );
24
25 setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
26 setLineWidth( style().defaultFrameWidth() );
27 setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
28+
29 }
30
31
32@@ -683,6 +684,11 @@
33 h-tmarg-bmarg - (showh ? hsbExt : 0) );
34 }
35
36+/*
37+ The surrounding environment (or application, if there is no
38+ environment, may set this. Requires Qt >= 2.3.8.
39+*/
40+bool qt_left_hand_scrollbars = FALSE;
41
42 /*!
43 Updates scrollbars - all possibilities considered. You should never
44@@ -786,45 +792,50 @@
45
46 // Position the scrollbars, viewport, and corner widget.
47 int bottom;
48+ int xoffset = ( qt_left_hand_scrollbars && ( showv || cornerWidget() ) ) ? vsbExt : 0;
49+ int xpos = qt_left_hand_scrollbars ? 0 : w-vsbExt;
50+ xpos = (style() == WindowsStyle) && qt_left_hand_scrollbars ? xpos + fw : xpos - fw;
51+ int ypos = tmarg;
52+ ypos = (style() == WindowsStyle) ? ypos +fw : 0;
53 if ( showh ) {
54 int right = ( showv || cornerWidget() ) ? w-vsbExt : w;
55 if ( style() == WindowsStyle )
56- setHBarGeometry(d->hbar, fw, h-hsbExt-fw,
57+ setHBarGeometry(d->hbar, fw + xoffset , h-hsbExt-fw,
58 right-fw-fw, hsbExt );
59 else
60- setHBarGeometry(d->hbar, 0, h-hsbExt, right,
61+ setHBarGeometry(d->hbar, 0+ xoffset, h-hsbExt, right,
62 hsbExt );
63 bottom=h-hsbExt;
64 } else {
65 bottom=h;
66 }
67 if ( showv ) {
68 -clipper()->setGeometry( lmarg, tmarg,
69 +clipper()->setGeometry( lmarg + xoffset, tmarg,
70 w-vsbExt-lmarg-rmarg,
71 bottom-tmarg-bmarg );
72 d->viewportResized( w-vsbExt-lmarg-rmarg, bottom-tmarg-bmarg );
73 if ( style() == WindowsStyle )
74 - changeFrameRect(QRect(0, 0, w, h) );
75 + changeFrameRect(QRect(xoffset, 0, w, h) );
76 else
77 - changeFrameRect(QRect(0, 0, w-vsbExt, bottom));
78 + changeFrameRect(QRect(xoffset, 0, w-vsbExt, bottom));
79 if (cornerWidget()) {
80 if ( style() == WindowsStyle )
81- setVBarGeometry( d->vbar, w-vsbExt-fw,
82- fw, vsbExt,
83- h-hsbExt-fw-fw );
84+ setVBarGeometry( d->vbar, xpos,
85+ ypos, vsbExt,
86+ bottom-fw-ypos );
87 else
88- setVBarGeometry( d->vbar, w-vsbExt, 0,
89+ setVBarGeometry( d->vbar, xpos, ypos,
90 vsbExt,
91- h-hsbExt );
92+ bottom-ypos );
93 }
94 else {
95 if ( style() == WindowsStyle )
96- setVBarGeometry( d->vbar, w-vsbExt-fw,
97- fw, vsbExt,
98- bottom-fw-fw );
99+ setVBarGeometry( d->vbar, xpos,
100+ ypos, vsbExt,
101+ bottom-fw-ypos );
102 else
103- setVBarGeometry( d->vbar, w-vsbExt, 0,
104- vsbExt, bottom );
105+ setVBarGeometry( d->vbar, xpos, ypos,
106+ vsbExt, bottom-ypos );
107 }
108 } else {
109 if ( style() == WindowsStyle )
110@@ -837,12 +848,12 @@
111 }
112 if ( d->corner ) {
113 if ( style() == WindowsStyle )
114- d->corner->setGeometry( w-vsbExt-fw,
115+ d->corner->setGeometry( xpos,
116 h-hsbExt-fw,
117 vsbExt,
118 hsbExt );
119 else
120- d->corner->setGeometry( w-vsbExt,
121+ d->corner->setGeometry( xpos,
122 h-hsbExt,
123 vsbExt,
124 hsbExt );
125@@ -1675,7 +1686,7 @@
126 }
127
128 /*!
129- Scrolls the content by \a x to the left and \a y upwards.
130+ Scrolls the content by \a dx to the left and \a dy upwards.
131 */
132 void QScrollView::scrollBy( int dx, int dy )
133 {
diff --git a/qt/qt-2.3.8.patch/qte238-adjustsizes.patch b/qt/qt-2.3.8.patch/qte238-adjustsizes.patch
deleted file mode 100644
index b2a7f7e..0000000
--- a/qt/qt-2.3.8.patch/qte238-adjustsizes.patch
+++ b/dev/null
@@ -1,64 +0,0 @@
1Qt was not created for 240x320 and we adjust some default values to be more
2sane for the usage on handhelds
3
4
5diff -ur qt-2.3.8-old/src/widgets/qcommonstyle.cpp qt-2.3.8/src/widgets/qcommonstyle.cpp
6 --- qt-2.3.8-old/src/widgets/qcommonstyle.cpp2004-07-22 01:07:44.000000000 +0200
7 +++ qt-2.3.8/src/widgets/qcommonstyle.cpp2004-07-23 16:15:16.000000000 +0200
8@@ -566,7 +566,7 @@
9 bool enabled, bool active )
10 {
11 #ifndef QT_NO_MENUBAR
12-#ifndef QT_NO_STYLE_SGI
13+#if 1 // #ifndef QT_NO_STYLE_SGI
14 if (draw_menu_bar_impl != 0) {
15 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
16 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
17diff -ur qt-2.3.8-old/src/widgets/qlistview.cpp qt-2.3.8/src/widgets/qlistview.cpp
18 --- qt-2.3.8-old/src/widgets/qlistview.cpp2004-07-22 01:07:44.000000000 +0200
19 +++ qt-2.3.8/src/widgets/qlistview.cpp2004-07-23 16:15:16.000000000 +0200
20@@ -5054,9 +5054,9 @@
21 l = l->childItem ? l->childItem : l->siblingItem;
22
23 if ( l && l->height() )
24 -s.setHeight( s.height() + 10 * l->height() );
25- else
26 -s.setHeight( s.height() + 140 );
27 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
28+ else // ^v much too big for handhelds
29 +s.setHeight( s.height() + 30 /*140*/ );
30
31 if ( s.width() > s.height() * 3 )
32 s.setHeight( s.width() / 3 );
33Nur in qt-2.3.8/src/widgets/: qlistview.cpp.orig.
34diff -ur qt-2.3.8-old/src/widgets/qtoolbutton.cpp qt-2.3.8/src/widgets/qtoolbutton.cpp
35 --- qt-2.3.8-old/src/widgets/qtoolbutton.cpp2004-07-22 01:07:44.000000000 +0200
36 +++ qt-2.3.8/src/widgets/qtoolbutton.cpp2004-07-23 16:15:16.000000000 +0200
37@@ -232,7 +232,7 @@
38 else
39 QToolTip::add( this, textLabel );
40 }
41 -#endif
42+#endif
43 }
44
45
46@@ -326,12 +326,12 @@
47 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
48 w = pm.width();
49 h = pm.height();
50 -if ( w < 32 )
51 - w = 32;
52 -if ( h < 32 )
53 - h = 32;
54 +if ( w < 24 )
55 + w = 24;
56 +if ( h < 24 )
57 + h = 24;
58 } else {
59 -w = h = 16;
60 +w = h = 14;
61 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
62 w = pm.width();
63 h = pm.height();
64Nur in qt-2.3.8/src/widgets/: qtoolbutton.cpp.orig.
diff --git a/qt/qt-2.3.8.patch/qte238-all.patch b/qt/qt-2.3.8.patch/qte238-all.patch
deleted file mode 100644
index 3266f78..0000000
--- a/qt/qt-2.3.8.patch/qte238-all.patch
+++ b/dev/null
@@ -1,1059 +0,0 @@
1diff -ur qt-2.3.8-old/include/qapplication.h qt-2.3.8/include/qapplication.h
2 --- qt-2.3.8-old/include/qapplication.h2004-07-22 01:07:45.000000000 +0200
3 +++ qt-2.3.8/include/qapplication.h2004-07-23 19:08:46.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
59diff -ur qt-2.3.8-old/include/qcstring.h qt-2.3.8/include/qcstring.h
60 --- qt-2.3.8-old/include/qcstring.h2004-07-22 01:07:46.000000000 +0200
61 +++ qt-2.3.8/include/qcstring.h2004-07-23 19:09:55.000000000 +0200
62@@ -119,7 +119,7 @@
63 // We want to keep source compatibility for 2.x
64 // ### TODO for 4.0: completely remove these and the cstr* functions
65
66-#if !defined(QT_GENUINE_STR)
67+#if 0
68
69 #undefstrlen
70 #define strlen qstrlen
71diff -ur qt-2.3.8-old/include/qfontdatabase.h qt-2.3.8/include/qfontdatabase.h
72 --- qt-2.3.8-old/include/qfontdatabase.h2004-07-22 01:07:45.000000000 +0200
73 +++ qt-2.3.8/include/qfontdatabase.h2004-07-23 19:08:46.000000000 +0200
74@@ -59,6 +59,10 @@
75 class QDiskFont;
76 #endif
77
78+#if !defined( QT_WEAK_SYMBOL )
79+#define QT_WEAK_SYMBOL
80+#endif
81+
82 class QFontDatabasePrivate;
83
84 class Q_EXPORT QFontDatabase
85@@ -67,9 +71,16 @@
86 QFontDatabase();
87
88 QStringList families( bool onlyForLocale = TRUE ) const;
89+
90+
91 QValueList<int> pointSizes( const QString &family,
92 const QString &style = QString::null,
93 - const QString &charSet = QString::null );
94 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
95+private:
96+ QValueList<int> pointSizes_NonWeak( const QString &family,
97 + const QString &style,
98 + const QString &charSet );
99+public:
100 QStringList styles( const QString &family,
101 const QString &charSet = QString::null ) const;
102 QStringList charSets( const QString &familyName,
103diff -ur qt-2.3.8-old/include/qglobal.h qt-2.3.8/include/qglobal.h
104 --- qt-2.3.8-old/include/qglobal.h2004-07-22 01:07:46.000000000 +0200
105 +++ qt-2.3.8/include/qglobal.h2004-07-23 19:09:55.000000000 +0200
106@@ -207,8 +207,16 @@
107 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
108 #define Q_FP_CCAST_BROKEN
109 #endif
110+/* ARM gcc pads structs to 32 bits, even when they contain a single
111+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
112+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
113+ members of a packed struct. (Pointers are OK, because then you
114+ supposedly know what you are doing.) */
115 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
116 #define Q_PACKED __attribute__ ((packed))
117+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
118+# define Q_NO_PACKED_REFERENCE
119+# endif
120 #endif
121 #elif defined(__xlC__)
122 #define _CC_XLC_
123diff -ur qt-2.3.8-old/include/qiconview.h qt-2.3.8/include/qiconview.h
124 --- qt-2.3.8-old/include/qiconview.h2004-07-22 01:07:46.000000000 +0200
125 +++ qt-2.3.8/include/qiconview.h2004-07-23 19:13:09.000000000 +0200
126@@ -444,6 +444,7 @@
127 virtual void contentsDropEvent( QDropEvent *e );
128 #endif
129
130+ void bufferedPaintEvent( QPaintEvent* );
131 virtual void resizeEvent( QResizeEvent* e );
132 virtual void keyPressEvent( QKeyEvent *e );
133 virtual void focusInEvent( QFocusEvent *e );
134diff -ur qt-2.3.8-old/include/qsortedlist.h qt-2.3.8/include/qsortedlist.h
135 --- qt-2.3.8-old/include/qsortedlist.h2004-07-22 01:07:46.000000000 +0200
136 +++ qt-2.3.8/include/qsortedlist.h2004-07-23 19:09:55.000000000 +0200
137@@ -48,7 +48,7 @@
138 public:
139 QSortedList() {}
140 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
141- ~QSortedList() { clear(); }
142+ ~QSortedList() { this->clear(); }
143 QSortedList<type> &operator=(const QSortedList<type> &l)
144 { return (QSortedList<type>&)QList<type>::operator=(l); }
145
146diff -ur qt-2.3.8-old/include/qstring.h qt-2.3.8/include/qstring.h
147 --- qt-2.3.8-old/include/qstring.h2004-07-22 01:07:46.000000000 +0200
148 +++ qt-2.3.8/include/qstring.h2004-07-23 19:09:55.000000000 +0200
149@@ -163,8 +163,16 @@
150 bool isLetterOrNumber() const;
151 bool isDigit() const;
152
153+
154+#ifdef Q_NO_PACKED_REFERENCE
155+ uchar& cell() { return *(&cl); }
156+ uchar& row() { return *(&rw); }
157+#else
158 uchar& cell() { return cl; }
159- uchar& row() { return rw; }
160+ uchar& row() { return rw; }
161+#endif
162+
163+
164 uchar cell() const { return cl; }
165 uchar row() const { return rw; }
166
167diff -ur qt-2.3.8-old/src/iconview/qiconview.cpp qt-2.3.8/src/iconview/qiconview.cpp
168 --- qt-2.3.8-old/src/iconview/qiconview.cpp2004-07-22 01:07:46.000000000 +0200
169 +++ qt-2.3.8/src/iconview/qiconview.cpp2004-07-23 19:13:09.000000000 +0200
170@@ -224,6 +224,7 @@
171 QIconView::SelectionMode selectionMode;
172 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
173 QRect *rubber;
174+ QPixmap *backBuffer;
175 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
176 *fullRedrawTimer;
177 int rastX, rastY, spacing;
178@@ -2267,6 +2268,7 @@
179 d->currentItem = 0;
180 d->highlightedItem = 0;
181 d->rubber = 0;
182+ d->backBuffer = 0;
183 d->scrollTimer = 0;
184 d->startDragItem = 0;
185 d->tmpCurrentItem = 0;
186@@ -2415,6 +2417,8 @@
187 delete item;
188 item = tmp;
189 }
190+ delete d->backBuffer;
191+ d->backBuffer = 0;
192 delete d->fm;
193 d->fm = 0;
194 #ifndef QT_NO_TOOLTIP
195@@ -2881,6 +2885,48 @@
196 }
197
198 /*!
199+ This function grabs all paintevents that otherwise would have been
200+ processed by the QScrollView::viewportPaintEvent(). Here we use a
201+ doublebuffer to reduce 'on-paint' flickering on QIconView
202+ (and of course its childs).
203+
204+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
205+*/
206+
207+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
208+{
209+ QWidget* vp = viewport();
210+ QRect r = pe->rect() & vp->rect();
211+ int ex = r.x() + contentsX();
212+ int ey = r.y() + contentsY();
213+ int ew = r.width();
214+ int eh = r.height();
215+
216+ if ( !d->backBuffer )
217 +d->backBuffer = new QPixmap(vp->size());
218+ if ( d->backBuffer->size() != vp->size() ) {
219 +//Resize function (with hysteesis). Uses a good compromise between memory
220 +//consumption and speed (number) of resizes.
221+ float newWidth = (float)vp->width();
222 +float newHeight = (float)vp->height();
223 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
224 +{
225 + newWidth *= 1.1892;
226 + newHeight *= 1.1892;
227 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
228 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
229 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
230+ }
231+
232+ QPainter p;
233+ p.begin(d->backBuffer, vp);
234+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
235+ p.end();
236+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
237+}
238+
239+/*!
240+
241 \reimp
242 */
243
244@@ -4937,7 +4983,7 @@
245 if ( !d->rubber )
246 drawDragShapes( d->oldDragPos );
247 }
248 - viewportPaintEvent( (QPaintEvent*)e );
249+ bufferedPaintEvent ((QPaintEvent*)e );
250 if ( d->dragging ) {
251 if ( !d->rubber )
252 drawDragShapes( d->oldDragPos );
253@@ -5374,11 +5420,19 @@
254 return;
255
256 if ( item->d->container1 && d->firstContainer ) {
257 -item->d->container1->items.removeRef( item );
258+ //Special-case checking of the last item, since this may be
259+ //called a few times for the same item.
260+ if (item->d->container1->items.last() == item)
261+ item->d->container1->items.removeLast();
262+ else
263+ item->d->container1->items.removeRef( item );
264 }
265 item->d->container1 = 0;
266 if ( item->d->container2 && d->firstContainer ) {
267 -item->d->container2->items.removeRef( item );
268+ if (item->d->container2->items.last() == item)
269+ item->d->container2->items.removeLast();
270+ else
271+ item->d->container2->items.removeRef( item );
272 }
273 item->d->container2 = 0;
274
275Nur in qt-2.3.8/src/iconview: qiconview.cpp.orig.
276Nur in qt-2.3.8/src/iconview: qiconview.cpp.rej.
277diff -ur qt-2.3.8-old/src/iconview/qiconview.h qt-2.3.8/src/iconview/qiconview.h
278 --- qt-2.3.8-old/src/iconview/qiconview.h2004-07-22 01:07:46.000000000 +0200
279 +++ qt-2.3.8/src/iconview/qiconview.h2004-07-23 19:13:09.000000000 +0200
280@@ -444,6 +444,7 @@
281 virtual void contentsDropEvent( QDropEvent *e );
282 #endif
283
284+ void bufferedPaintEvent( QPaintEvent* );
285 virtual void resizeEvent( QResizeEvent* e );
286 virtual void keyPressEvent( QKeyEvent *e );
287 virtual void focusInEvent( QFocusEvent *e );
288diff -ur qt-2.3.8-old/src/kernel/qapplication.cpp qt-2.3.8/src/kernel/qapplication.cpp
289 --- qt-2.3.8-old/src/kernel/qapplication.cpp2004-07-22 01:07:46.000000000 +0200
290 +++ qt-2.3.8/src/kernel/qapplication.cpp2004-07-23 19:08:46.000000000 +0200
291@@ -35,6 +35,8 @@
292 **
293 **********************************************************************/
294
295 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
296+
297 #include "qobjectlist.h"
298 #include "qobjectdict.h"
299 #include "qapplication.h"
300@@ -936,11 +938,16 @@
301 #ifndef QT_NO_STYLE
302 void QApplication::setStyle( QStyle *style )
303 {
304 +setStyle_NonWeak ( style );
305+}
306+
307+void QApplication::setStyle_NonWeak( QStyle *style )
308+{
309 QStyle* old = app_style;
310- app_style = style;
311
312 if ( startingUp() ) {
313 delete old;
314 +app_style = style;
315 return;
316 }
317
318@@ -961,6 +968,8 @@
319 old->unPolish( qApp );
320 }
321
322+ app_style = style;
323+
324 // take care of possible palette requirements of certain gui
325 // styles. Do it before polishing the application since the style
326 // might call QApplication::setStyle() itself
327@@ -1187,13 +1196,30 @@
328 \sa QWidget::setPalette(), palette(), QStyle::polish()
329 */
330
331-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
332+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
333 + const char* className )
334+{
335 +setPalette_NonWeak ( palette, informWidgets, className );
336+}
337+
338+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
339 const char* className )
340 {
341 QPalette pal = palette;
342 #ifndef QT_NO_STYLE
343- if ( !startingUp() )
344+ if ( !startingUp() ) {
345 qApp->style().polish( pal );// NB: non-const reference
346 +if ( className ) {
347 + // if we just polished a class specific palette (this normally
348 + // only called by qt_fix_tooltips - see below), we better re-
349 + // polish the global palette. Some styles like liquid can get
350 + // confused, because they can not detect if the polished palette
351 + // is the global one or only a class specific one.
352 + // (liquid uses this palette to calculate blending pixmaps)
353 + QPalette p = qApp-> palette ( );
354 + qApp->style().polish ( p );
355 +}
356+ }
357 #endif
358 bool all = FALSE;
359 if ( !className ) {
360@@ -1278,6 +1304,12 @@
361 void QApplication::setFont( const QFont &font, bool informWidgets,
362 const char* className )
363 {
364 +setFont_NonWeak ( font, informWidgets, className );
365+}
366+
367+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
368 + const char* className )
369+{
370 bool all = FALSE;
371 if ( !className ) {
372 if ( !app_font ) {
373Nur in qt-2.3.8/src/kernel: qapplication.cpp.orig.
374diff -ur qt-2.3.8-old/src/kernel/qapplication.h qt-2.3.8/src/kernel/qapplication.h
375 --- qt-2.3.8-old/src/kernel/qapplication.h2004-07-22 01:07:45.000000000 +0200
376 +++ qt-2.3.8/src/kernel/qapplication.h2004-07-23 19:08:46.000000000 +0200
377@@ -61,6 +61,10 @@
378 class QSemaphore;
379 #endif
380
381+#if !defined( QT_WEAK_SYMBOL )
382+#define QT_WEAK_SYMBOL
383+#endif
384+
385 // REMOVE IN 3.0 (just here for moc source compatibility)
386 #define QNonBaseApplication QApplication
387
388@@ -85,7 +89,10 @@
389
390 #ifndef QT_NO_STYLE
391 static QStyle &style();
392 - static void setStyle( QStyle* );
393 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
394+private:
395 +static void setStyle_NonWeak( QStyle* );
396+public:
397 #endif
398 #if 1/* OBSOLETE */
399 enum ColorMode { NormalColors, CustomColors };
400@@ -106,11 +113,19 @@
401 #ifndef QT_NO_PALETTE
402 static QPalette palette( const QWidget* = 0 );
403 static void setPalette( const QPalette &, bool informWidgets=FALSE,
404 + const char* className = 0 ) QT_WEAK_SYMBOL;
405+private:
406 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
407 const char* className = 0 );
408+public:
409 #endif
410 static QFont font( const QWidget* = 0 );
411 static void setFont( const QFont &, bool informWidgets=FALSE,
412 + const char* className = 0 ) QT_WEAK_SYMBOL;
413+private:
414 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
415 const char* className = 0 );
416 +public:
417 static QFontMetrics fontMetrics();
418
419 QWidget *mainWidget() const;
420@@ -207,7 +222,10 @@
421 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
422 #ifndef QT_NO_QWS_MANAGER
423 static QWSDecoration &qwsDecoration();
424- static void qwsSetDecoration( QWSDecoration *);
425+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
426+private:
427+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
428+public:
429 #endif
430 #endif
431
432diff -ur qt-2.3.8-old/src/kernel/qapplication_qws.cpp qt-2.3.8/src/kernel/qapplication_qws.cpp
433 --- qt-2.3.8-old/src/kernel/qapplication_qws.cpp2004-07-22 01:07:45.000000000 +0200
434 +++ qt-2.3.8/src/kernel/qapplication_qws.cpp2004-07-23 19:08:46.000000000 +0200
435@@ -2896,6 +2896,11 @@
436 */
437 void QApplication::qwsSetDecoration( QWSDecoration *d )
438 {
439 +qwsSetDecoration_NonWeak ( d );
440+}
441+
442+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
443+{
444 if ( d ) {
445 delete qws_decoration;
446 qws_decoration = d;
447Nur in qt-2.3.8/src/kernel: qapplication_qws.cpp.orig.
448diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.cpp qt-2.3.8/src/kernel/qfontdatabase.cpp
449 --- qt-2.3.8-old/src/kernel/qfontdatabase.cpp2004-07-22 01:07:45.000000000 +0200
450 +++ qt-2.3.8/src/kernel/qfontdatabase.cpp2004-07-23 19:08:46.000000000 +0200
451@@ -35,6 +35,8 @@
452 **
453 **********************************************************************/
454
455+#define QT_WEAK_SYMBOL __attribute__(( weak ))
456+
457 #include "qfontdatabase.h"
458
459 #ifndef QT_NO_FONTDATABASE
460@@ -2424,6 +2426,13 @@
461 const QString &style,
462 const QString &charSet )
463 {
464 +return pointSizes_NonWeak ( family, style, charSet );
465+}
466+
467+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
468+ const QString &style,
469+ const QString &charSet )
470+{
471 QString cs( charSet );
472 if ( charSet.isEmpty() ) {
473 QStringList lst = charSets( family );
474diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.h qt-2.3.8/src/kernel/qfontdatabase.h
475 --- qt-2.3.8-old/src/kernel/qfontdatabase.h2004-07-22 01:07:45.000000000 +0200
476 +++ qt-2.3.8/src/kernel/qfontdatabase.h2004-07-23 19:08:46.000000000 +0200
477@@ -59,6 +59,10 @@
478 class QDiskFont;
479 #endif
480
481+#if !defined( QT_WEAK_SYMBOL )
482+#define QT_WEAK_SYMBOL
483+#endif
484+
485 class QFontDatabasePrivate;
486
487 class Q_EXPORT QFontDatabase
488@@ -67,9 +71,16 @@
489 QFontDatabase();
490
491 QStringList families( bool onlyForLocale = TRUE ) const;
492+
493+
494 QValueList<int> pointSizes( const QString &family,
495 const QString &style = QString::null,
496 - const QString &charSet = QString::null );
497 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
498+private:
499+ QValueList<int> pointSizes_NonWeak( const QString &family,
500 + const QString &style,
501 + const QString &charSet );
502+public:
503 QStringList styles( const QString &family,
504 const QString &charSet = QString::null ) const;
505 QStringList charSets( const QString &familyName,
506diff -ur qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp qt-2.3.8/src/kernel/qgfxraster_qws.cpp
507 --- qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp2004-07-22 01:07:45.000000000 +0200
508 +++ qt-2.3.8/src/kernel/qgfxraster_qws.cpp2004-07-23 19:10:03.000000000 +0200
509@@ -4400,7 +4400,7 @@
510 setAlphaType(IgnoreAlpha);
511 if ( w <= 0 || h <= 0 || !ncliprect ) return;
512 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
513-#ifdef QWS_EXPERIMENTAL_FASTPATH
514+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
515 // ### fix for 8bpp
516 // This seems to be reliable now, at least for 16bpp
517
518Nur in qt-2.3.8/src/kernel: qgfxraster_qws.cpp.orig.
519diff -ur qt-2.3.8-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp
520 --- qt-2.3.8-old/src/kernel/qgfxtransformed_qws.cpp2004-07-22 01:07:45.000000000 +0200
521 +++ qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp2004-07-23 19:09:55.000000000 +0200
522@@ -671,11 +671,11 @@
523 inline int tx( int x, int y ) {
524 switch ( qt_trans_screen->transformation() ) {
525 case QTransformedScreen::Rot90:
526 - return y - xoffs + yoffs;
527 + return y - this->xoffs + this->yoffs;
528 case QTransformedScreen::Rot180:
529 - return (width - x - 1) - xoffs - xoffs;
530 + return (this->width - x - 1) - this->xoffs - this->xoffs;
531 case QTransformedScreen::Rot270:
532 - return (height - y - 1) - xoffs - yoffs;
533 + return (this->height - y - 1) - this->xoffs - this->yoffs;
534 default:
535 return x;
536 }
537@@ -683,11 +683,11 @@
538 inline int ty( int x, int y ) {
539 switch ( qt_trans_screen->transformation() ) {
540 case QTransformedScreen::Rot90:
541 - return (width - x - 1) - yoffs - xoffs;
542 + return (this->width - x - 1) - this->yoffs - this->xoffs;
543 case QTransformedScreen::Rot180:
544 - return (height - y - 1) - yoffs - yoffs;
545 + return (this->height - y - 1) - this->yoffs - this->yoffs;
546 case QTransformedScreen::Rot270:
547 - return x - yoffs + xoffs;
548 + return x - this->yoffs + this->xoffs;
549 default:
550 return y;
551 }
552@@ -715,23 +715,23 @@
553 template <const int depth, const int type>
554 void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y)
555 {
556- if ( srcbits == buffer ) {
557+ if ( this->srcbits == this->buffer ) {
558 switch ( qt_trans_screen->transformation() ) {
559 case QTransformedScreen::Rot90:
560 - srcwidgetoffs = QPoint( y, width - x - srcwidth );
561 + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth );
562 break;
563 case QTransformedScreen::Rot180:
564 - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight );
565 + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight );
566 break;
567 case QTransformedScreen::Rot270:
568 - srcwidgetoffs = QPoint( height - y - srcheight, x );
569 + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x );
570 break;
571 default:
572 - srcwidgetoffs = QPoint( x, y );
573 + this->srcwidgetoffs = QPoint( x, y );
574 break;
575 }
576 } else
577 -srcwidgetoffs = QPoint( x, y );
578 +this->srcwidgetoffs = QPoint( x, y );
579 }
580
581 template <const int depth, const int type>
582@@ -739,8 +739,8 @@
583 {
584 QT_TRANS_GFX_BASE<depth,type>::setSource(i);
585 QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) );
586- srcwidth = s.width();
587- srcheight = s.height();
588+ this->srcwidth = s.width();
589+ this->srcheight = s.height();
590 }
591
592 template <const int depth, const int type>
593@@ -782,7 +782,7 @@
594 if ( w == 0 || h == 0 )
595 return;
596 QRect r( x, y, w, h );
597- if ( cbrush.style() == SolidPattern ) {
598+ if ( this->cbrush.style() == Qt::SolidPattern ) {
599 r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) );
600 r = r.normalize();
601 }
602@@ -797,7 +797,7 @@
603 // solution. The brush offset logic is complicated enough, so we don't
604 // fastpath patternedbrush.
605
606- if ( inDraw || cpen.style()==NoPen || patternedbrush ) {
607+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) {
608 //slowpath
609 QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num );
610 } else {
611@@ -819,29 +819,29 @@
612 template <const int depth, const int type>
613 void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width )
614 {
615- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) {
616+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) {
617 //in the patternedbrush case, we let blt do the transformation
618 // so we leave inDraw false.
619 - QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
620 +QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
621 } else {
622 inDraw = TRUE;
623 while (n--) {
624 if ( *width > 0 ) {
625 - int x=tx(point->x(),point->y())+xoffs;
626 - int y=ty(point->x(),point->y())+yoffs;
627 + int x=tx(point->x(),point->y())+this->xoffs;
628 + int y=ty(point->x(),point->y())+this->yoffs;
629
630 switch( qt_trans_screen->transformation() ) {
631 case QTransformedScreen::Rot90:
632 - vline( x, y-(*width-1), y );
633 + this->vline( x, y-(*width-1), y );
634 break;
635 case QTransformedScreen::Rot180:
636 - hline( x - (*width-1), x, y );
637 + this->hline( x - (*width-1), x, y );
638 break;
639 case QTransformedScreen::Rot270:
640 - vline( x, y, y+*width-1 );
641 + this->vline( x, y, y+*width-1 );
642 break;
643 default:
644 - hline( x, x+*width-1, y );
645 + this->hline( x, x+*width-1, y );
646 break;
647 }
648 }
649@@ -896,14 +896,14 @@
650 switch ( qt_trans_screen->transformation() ) {
651 case QTransformedScreen::Rot90:
652 rsx = sy;
653 - rsy = srcwidth - sx - w;
654 + rsy = this->srcwidth - sx - w;
655 break;
656 case QTransformedScreen::Rot180:
657 - rsx = srcwidth - sx - w;
658 - rsy = srcheight - sy - h;
659 + rsx = this->srcwidth - sx - w;
660 + rsy = this->srcheight - sy - h;
661 break;
662 case QTransformedScreen::Rot270:
663 - rsx = srcheight - sy - h;
664 + rsx = this->srcheight - sy - h;
665 rsy = sx;
666 break;
667 default:
668@@ -941,39 +941,39 @@
669 r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) );
670 r = r.normalize();
671
672- QPoint oldBrushOffs = brushoffs;
673+ QPoint oldBrushOffs = this->brushoffs;
674 int brx, bry;
675 switch ( qt_trans_screen->transformation() ) {
676 case QTransformedScreen::Rot90:
677 - brx = brushoffs.y();
678 - bry = srcwidth - brushoffs.x() - w;
679 + brx = this->brushoffs.y();
680 + bry = this->srcwidth - this->brushoffs.x() - w;
681 break;
682 case QTransformedScreen::Rot180:
683 - brx = srcwidth - brushoffs.x() - w;
684 - bry = srcheight - brushoffs.y() - h;
685 + brx = this->srcwidth - this->brushoffs.x() - w;
686 + bry = this->srcheight - this->brushoffs.y() - h;
687 break;
688 case QTransformedScreen::Rot270:
689 - brx = srcheight - brushoffs.y() - h;
690 - bry = brushoffs.x();
691 + brx = this->srcheight - this->brushoffs.y() - h;
692 + bry = this->brushoffs.x();
693 break;
694 default:
695 - brx = brushoffs.x();
696 - bry = brushoffs.y();
697 + brx = this->brushoffs.x();
698 + bry = this->brushoffs.y();
699 break;
700 }
701- brushoffs = QPoint( brx, bry );
702+ this->brushoffs = QPoint( brx, bry );
703
704- int oldsw = srcwidth;
705- int oldsh = srcheight;
706- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) );
707- srcwidth = s.width();
708- srcheight = s.height();
709+ int oldsw = this->srcwidth;
710+ int oldsh = this->srcheight;
711+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) );
712+ this->srcwidth = s.width();
713+ this->srcheight = s.height();
714
715 QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() );
716
717- srcwidth = oldsw;
718- srcheight = oldsh;
719- brushoffs = oldBrushOffs;
720+ this->srcwidth = oldsw;
721+ this->srcheight = oldsh;
722+ this->brushoffs = oldBrushOffs;
723 inDraw = FALSE;
724 }
725
726diff -ur qt-2.3.8-old/src/kernel/qgfxvfb_qws.cpp qt-2.3.8/src/kernel/qgfxvfb_qws.cpp
727 --- qt-2.3.8-old/src/kernel/qgfxvfb_qws.cpp2004-07-22 01:07:45.000000000 +0200
728 +++ qt-2.3.8/src/kernel/qgfxvfb_qws.cpp2004-07-23 19:09:55.000000000 +0200
729@@ -31,7 +31,6 @@
730 **********************************************************************/
731
732 #include "qgfxraster_qws.h"
733-
734 #ifndef QT_NO_QWS_VFB
735
736 #include <sys/ipc.h>
737@@ -140,8 +139,8 @@
738 void QGfxVFb<depth,type>::drawPoint( int x, int y )
739 {
740 QWSDisplay::grab( TRUE );
741- if ( is_screen_gfx )
742 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) );
743+ if ( this->is_screen_gfx )
744 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) );
745 QGfxRaster<depth,type>::drawPoint( x, y );
746 QWSDisplay::ungrab();
747 }
748@@ -150,8 +149,8 @@
749 void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y )
750 {
751 QWSDisplay::grab( TRUE );
752- if ( is_screen_gfx )
753 -qvfb_screen->setDirty( clipbounds );
754+ if ( this->is_screen_gfx )
755 +qvfb_screen->setDirty( this->clipbounds );
756 QGfxRaster<depth,type>::drawPoints( pa, x, y );
757 QWSDisplay::ungrab();
758 }
759@@ -160,9 +159,9 @@
760 void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 )
761 {
762 QWSDisplay::grab( TRUE );
763- if ( is_screen_gfx ) {
764+ if ( this->is_screen_gfx ) {
765 QRect r;
766 -r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs );
767 +r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs );
768 qvfb_screen->setDirty( r.normalize() );
769 }
770 QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
771@@ -173,8 +172,8 @@
772 void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h )
773 {
774 QWSDisplay::grab( TRUE );
775- if ( is_screen_gfx )
776 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
777+ if ( this->is_screen_gfx )
778 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
779 QGfxRaster<depth,type>::fillRect( x, y, w, h );
780 QWSDisplay::ungrab();
781 }
782@@ -183,8 +182,8 @@
783 void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y )
784 {
785 QWSDisplay::grab( TRUE );
786- if ( is_screen_gfx )
787 -qvfb_screen->setDirty( clipbounds );
788+ if ( this->is_screen_gfx )
789 +qvfb_screen->setDirty( this->clipbounds );
790 QGfxRaster<depth,type>::drawPolyline( pa, x, y );
791 QWSDisplay::ungrab();
792 }
793@@ -193,8 +192,8 @@
794 void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y )
795 {
796 QWSDisplay::grab( TRUE );
797- if ( is_screen_gfx )
798 -qvfb_screen->setDirty( clipbounds );
799+ if ( this->is_screen_gfx )
800 +qvfb_screen->setDirty( this->clipbounds );
801 QGfxRaster<depth,type>::drawPolygon( pa, w, x, y );
802 QWSDisplay::ungrab();
803 }
804@@ -203,8 +202,8 @@
805 void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy )
806 {
807 QWSDisplay::grab( TRUE );
808- if ( is_screen_gfx )
809 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
810+ if ( this->is_screen_gfx )
811 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
812 QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy );
813 QWSDisplay::ungrab();
814 }
815@@ -215,8 +214,8 @@
816 QWSDisplay::grab( TRUE );
817 int dy = sy - y;
818 int dx = sx - x;
819- if ( is_screen_gfx )
820 -qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs,
821+ if ( this->is_screen_gfx )
822 +qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs,
823 w+abs(dx), h+abs(dy)) );
824 QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy );
825 QWSDisplay::ungrab();
826@@ -227,8 +226,8 @@
827 void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy )
828 {
829 QWSDisplay::grab( TRUE );
830- if ( is_screen_gfx )
831 -qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) );
832+ if ( this->is_screen_gfx )
833 +qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) );
834 QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy );
835 QWSDisplay::ungrab();
836 }
837@@ -238,8 +237,8 @@
838 void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h )
839 {
840 QWSDisplay::grab( TRUE );
841- if ( is_screen_gfx )
842 -qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) );
843+ if ( this->is_screen_gfx )
844 +qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) );
845 QGfxRaster<depth,type>::tiledBlt( x, y, w, h );
846 QWSDisplay::ungrab();
847 }
848diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp
849 --- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp2004-07-22 01:07:45.000000000 +0200
850 +++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp2004-07-23 19:15:51.000000000 +0200
851@@ -314,7 +314,7 @@
852 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63
853 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64
854 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65
855 - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66
856+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
857 { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
858 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68
859 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69
860Nur in qt-2.3.8/src/kernel: qkeyboard_qws.cpp.orig.
861diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp
862 --- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp2004-07-22 01:07:45.000000000 +0200
863 +++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp2004-07-23 19:15:51.000000000 +0200
864@@ -1273,6 +1273,18 @@
865 {
866 }
867
868+static void catchSegvSignal( int )
869+{
870+#ifndef QT_NO_QWS_KEYBOARD
871+ if ( qwsServer )
872 +qwsServer->closeKeyboard();
873+#endif
874+ QWSServer::closedown();
875+ fprintf(stderr, "Segmentation fault.\n");
876+ exit(1);
877+}
878+
879+
880 /*!
881 \class QWSServer qwindowsystem_qws.h
882 \brief Server-specific functionality in Qt/Embedded
883@@ -1365,6 +1377,7 @@
884 }
885
886 signal(SIGPIPE, ignoreSignal); //we get it when we read
887+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
888 #endif
889 focusw = 0;
890 mouseGrabber = 0;
891Nur in qt-2.3.8/src/kernel: qwindowsystem_qws.cpp.orig.
892diff -ur qt-2.3.8-old/src/tools/qcstring.h qt-2.3.8/src/tools/qcstring.h
893 --- qt-2.3.8-old/src/tools/qcstring.h2004-07-22 01:07:46.000000000 +0200
894 +++ qt-2.3.8/src/tools/qcstring.h2004-07-23 19:09:55.000000000 +0200
895@@ -119,7 +119,7 @@
896 // We want to keep source compatibility for 2.x
897 // ### TODO for 4.0: completely remove these and the cstr* functions
898
899-#if !defined(QT_GENUINE_STR)
900+#if 0
901
902 #undefstrlen
903 #define strlen qstrlen
904diff -ur qt-2.3.8-old/src/tools/qglobal.h qt-2.3.8/src/tools/qglobal.h
905 --- qt-2.3.8-old/src/tools/qglobal.h2004-07-22 01:07:46.000000000 +0200
906 +++ qt-2.3.8/src/tools/qglobal.h2004-07-23 19:09:55.000000000 +0200
907@@ -207,8 +207,16 @@
908 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
909 #define Q_FP_CCAST_BROKEN
910 #endif
911+/* ARM gcc pads structs to 32 bits, even when they contain a single
912+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
913+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
914+ members of a packed struct. (Pointers are OK, because then you
915+ supposedly know what you are doing.) */
916 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
917 #define Q_PACKED __attribute__ ((packed))
918+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
919+# define Q_NO_PACKED_REFERENCE
920+# endif
921 #endif
922 #elif defined(__xlC__)
923 #define _CC_XLC_
924diff -ur qt-2.3.8-old/src/tools/qsortedlist.h qt-2.3.8/src/tools/qsortedlist.h
925 --- qt-2.3.8-old/src/tools/qsortedlist.h2004-07-22 01:07:46.000000000 +0200
926 +++ qt-2.3.8/src/tools/qsortedlist.h2004-07-23 19:09:55.000000000 +0200
927@@ -48,7 +48,7 @@
928 public:
929 QSortedList() {}
930 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
931- ~QSortedList() { clear(); }
932+ ~QSortedList() { this->clear(); }
933 QSortedList<type> &operator=(const QSortedList<type> &l)
934 { return (QSortedList<type>&)QList<type>::operator=(l); }
935
936diff -ur qt-2.3.8-old/src/tools/qstring.cpp qt-2.3.8/src/tools/qstring.cpp
937 --- qt-2.3.8-old/src/tools/qstring.cpp2004-07-23 14:34:57.000000000 +0200
938 +++ qt-2.3.8/src/tools/qstring.cpp2004-07-23 19:09:49.000000000 +0200
939@@ -14469,7 +14469,11 @@
940 return qt_winQString2MB( *this );
941 #endif
942 #ifdef _WS_QWS_
943- return utf8(); // ##### if there is ANY 8 bit format supported?
944+ QTextCodec* codec = QTextCodec::codecForLocale();
945+ return codec
946 + ? codec->fromUnicode(*this)
947 + : utf8();
948+ //return latin1(); // ##### if there is ANY 8 bit format supported?
949 #endif
950 #endif
951 }
952@@ -14515,7 +14519,12 @@
953 return qt_winMB2QString( local8Bit );
954 #endif
955 #ifdef _WS_QWS_
956- return fromUtf8(local8Bit,len);
957+ QTextCodec* codec = QTextCodec::codecForLocale();
958+ if( len < 0) len = qstrlen(local8Bit);
959+ return codec
960 + ? codec->toUnicode(local8Bit, len)
961 + : QString::fromUtf8(local8Bit,len);
962+// return fromLatin1(local8Bit,len);
963 #endif
964 #endif // QT_NO_TEXTCODEC
965 }
966diff -ur qt-2.3.8-old/src/tools/qstring.h qt-2.3.8/src/tools/qstring.h
967 --- qt-2.3.8-old/src/tools/qstring.h2004-07-22 01:07:46.000000000 +0200
968 +++ qt-2.3.8/src/tools/qstring.h2004-07-23 19:09:55.000000000 +0200
969@@ -163,8 +163,16 @@
970 bool isLetterOrNumber() const;
971 bool isDigit() const;
972
973+
974+#ifdef Q_NO_PACKED_REFERENCE
975+ uchar& cell() { return *(&cl); }
976+ uchar& row() { return *(&rw); }
977+#else
978 uchar& cell() { return cl; }
979- uchar& row() { return rw; }
980+ uchar& row() { return rw; }
981+#endif
982+
983+
984 uchar cell() const { return cl; }
985 uchar row() const { return rw; }
986
987diff -ur qt-2.3.8-old/src/widgets/qcommonstyle.cpp qt-2.3.8/src/widgets/qcommonstyle.cpp
988 --- qt-2.3.8-old/src/widgets/qcommonstyle.cpp2004-07-22 01:07:44.000000000 +0200
989 +++ qt-2.3.8/src/widgets/qcommonstyle.cpp2004-07-23 16:15:16.000000000 +0200
990@@ -566,7 +566,7 @@
991 bool enabled, bool active )
992 {
993 #ifndef QT_NO_MENUBAR
994-#ifndef QT_NO_STYLE_SGI
995+#if 1 // #ifndef QT_NO_STYLE_SGI
996 if (draw_menu_bar_impl != 0) {
997 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
998 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
999diff -ur qt-2.3.8-old/src/widgets/qlistview.cpp qt-2.3.8/src/widgets/qlistview.cpp
1000 --- qt-2.3.8-old/src/widgets/qlistview.cpp2004-07-22 01:07:44.000000000 +0200
1001 +++ qt-2.3.8/src/widgets/qlistview.cpp2004-07-23 16:15:16.000000000 +0200
1002@@ -5054,9 +5054,9 @@
1003 l = l->childItem ? l->childItem : l->siblingItem;
1004
1005 if ( l && l->height() )
1006 -s.setHeight( s.height() + 10 * l->height() );
1007- else
1008 -s.setHeight( s.height() + 140 );
1009 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
1010+ else // ^v much too big for handhelds
1011 +s.setHeight( s.height() + 30 /*140*/ );
1012
1013 if ( s.width() > s.height() * 3 )
1014 s.setHeight( s.width() / 3 );
1015Nur in qt-2.3.8/src/widgets: qlistview.cpp.orig.
1016diff -ur qt-2.3.8-old/src/widgets/qscrollview.cpp qt-2.3.8/src/widgets/qscrollview.cpp
1017 --- qt-2.3.8-old/src/widgets/qscrollview.cpp2004-07-22 01:07:44.000000000 +0200
1018 +++ qt-2.3.8/src/widgets/qscrollview.cpp2004-07-23 19:21:06.000000000 +0200
1019@@ -1280,6 +1280,9 @@
1020 case QEvent::LayoutHint:
1021 d->autoResizeHint(this);
1022 break;
1023 +case QEvent::WindowActivate:
1024 +case QEvent::WindowDeactivate:
1025 + return TRUE;
1026 default:
1027 break;
1028 }
1029diff -ur qt-2.3.8-old/src/widgets/qtoolbutton.cpp qt-2.3.8/src/widgets/qtoolbutton.cpp
1030 --- qt-2.3.8-old/src/widgets/qtoolbutton.cpp2004-07-22 01:07:44.000000000 +0200
1031 +++ qt-2.3.8/src/widgets/qtoolbutton.cpp2004-07-23 16:15:16.000000000 +0200
1032@@ -232,7 +232,7 @@
1033 else
1034 QToolTip::add( this, textLabel );
1035 }
1036 -#endif
1037+#endif
1038 }
1039
1040
1041@@ -326,12 +326,12 @@
1042 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
1043 w = pm.width();
1044 h = pm.height();
1045 -if ( w < 32 )
1046 - w = 32;
1047 -if ( h < 32 )
1048 - h = 32;
1049 +if ( w < 24 )
1050 + w = 24;
1051 +if ( h < 24 )
1052 + h = 24;
1053 } else {
1054 -w = h = 16;
1055 +w = h = 14;
1056 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
1057 w = pm.width();
1058 h = pm.height();
1059Nur in qt-2.3.8/src/widgets: qtoolbutton.cpp.orig.
diff --git a/qt/qt-2.3.8.patch/qte238-allowoverride.patch b/qt/qt-2.3.8.patch/qte238-allowoverride.patch
deleted file mode 100644
index 8a63710..0000000
--- a/qt/qt-2.3.8.patch/qte238-allowoverride.patch
+++ b/dev/null
@@ -1,231 +0,0 @@
1Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used
2to be multiplied with 10, some apps get confused by that and
3in Opie we allow to work around for specefic application
4
5Courtsey to Robert 'sandman' Griebl
6
7
8
9
10
11
12
13
14diff -ur qt-2.3.8-old/src/kernel/qapplication.cpp qt-2.3.8/src/kernel/qapplication.cpp
15 --- qt-2.3.8-old/src/kernel/qapplication.cpp2004-07-22 01:07:46.000000000 +0200
16 +++ qt-2.3.8/src/kernel/qapplication.cpp2004-07-23 19:08:46.000000000 +0200
17@@ -35,6 +35,8 @@
18 **
19 **********************************************************************/
20
21 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
22+
23 #include "qobjectlist.h"
24 #include "qobjectdict.h"
25 #include "qapplication.h"
26@@ -936,11 +938,16 @@
27 #ifndef QT_NO_STYLE
28 void QApplication::setStyle( QStyle *style )
29 {
30 +setStyle_NonWeak ( style );
31+}
32+
33+void QApplication::setStyle_NonWeak( QStyle *style )
34+{
35 QStyle* old = app_style;
36- app_style = style;
37
38 if ( startingUp() ) {
39 delete old;
40 +app_style = style;
41 return;
42 }
43
44@@ -961,6 +968,8 @@
45 old->unPolish( qApp );
46 }
47
48+ app_style = style;
49+
50 // take care of possible palette requirements of certain gui
51 // styles. Do it before polishing the application since the style
52 // might call QApplication::setStyle() itself
53@@ -1187,13 +1196,30 @@
54 \sa QWidget::setPalette(), palette(), QStyle::polish()
55 */
56
57-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
58+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
59 + const char* className )
60+{
61 +setPalette_NonWeak ( palette, informWidgets, className );
62+}
63+
64+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
65 const char* className )
66 {
67 QPalette pal = palette;
68 #ifndef QT_NO_STYLE
69- if ( !startingUp() )
70+ if ( !startingUp() ) {
71 qApp->style().polish( pal );// NB: non-const reference
72 +if ( className ) {
73 + // if we just polished a class specific palette (this normally
74 + // only called by qt_fix_tooltips - see below), we better re-
75 + // polish the global palette. Some styles like liquid can get
76 + // confused, because they can not detect if the polished palette
77 + // is the global one or only a class specific one.
78 + // (liquid uses this palette to calculate blending pixmaps)
79 + QPalette p = qApp-> palette ( );
80 + qApp->style().polish ( p );
81 +}
82+ }
83 #endif
84 bool all = FALSE;
85 if ( !className ) {
86@@ -1278,6 +1304,12 @@
87 void QApplication::setFont( const QFont &font, bool informWidgets,
88 const char* className )
89 {
90 +setFont_NonWeak ( font, informWidgets, className );
91+}
92+
93+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
94 + const char* className )
95+{
96 bool all = FALSE;
97 if ( !className ) {
98 if ( !app_font ) {
99Nur in qt-2.3.8/src/kernel/: qapplication.cpp.orig.
100diff -ur qt-2.3.8-old/src/kernel/qapplication.h qt-2.3.8/src/kernel/qapplication.h
101 --- qt-2.3.8-old/src/kernel/qapplication.h2004-07-22 01:07:45.000000000 +0200
102 +++ qt-2.3.8/src/kernel/qapplication.h2004-07-23 19:08:46.000000000 +0200
103@@ -61,6 +61,10 @@
104 class QSemaphore;
105 #endif
106
107+#if !defined( QT_WEAK_SYMBOL )
108+#define QT_WEAK_SYMBOL
109+#endif
110+
111 // REMOVE IN 3.0 (just here for moc source compatibility)
112 #define QNonBaseApplication QApplication
113
114@@ -85,7 +89,10 @@
115
116 #ifndef QT_NO_STYLE
117 static QStyle &style();
118 - static void setStyle( QStyle* );
119 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
120+private:
121 +static void setStyle_NonWeak( QStyle* );
122+public:
123 #endif
124 #if 1/* OBSOLETE */
125 enum ColorMode { NormalColors, CustomColors };
126@@ -106,11 +113,19 @@
127 #ifndef QT_NO_PALETTE
128 static QPalette palette( const QWidget* = 0 );
129 static void setPalette( const QPalette &, bool informWidgets=FALSE,
130 + const char* className = 0 ) QT_WEAK_SYMBOL;
131+private:
132 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
133 const char* className = 0 );
134+public:
135 #endif
136 static QFont font( const QWidget* = 0 );
137 static void setFont( const QFont &, bool informWidgets=FALSE,
138 + const char* className = 0 ) QT_WEAK_SYMBOL;
139+private:
140 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
141 const char* className = 0 );
142 +public:
143 static QFontMetrics fontMetrics();
144
145 QWidget *mainWidget() const;
146@@ -207,7 +222,10 @@
147 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
148 #ifndef QT_NO_QWS_MANAGER
149 static QWSDecoration &qwsDecoration();
150- static void qwsSetDecoration( QWSDecoration *);
151+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
152+private:
153+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
154+public:
155 #endif
156 #endif
157
158diff -ur qt-2.3.8-old/src/kernel/qapplication_qws.cpp qt-2.3.8/src/kernel/qapplication_qws.cpp
159 --- qt-2.3.8-old/src/kernel/qapplication_qws.cpp2004-07-22 01:07:45.000000000 +0200
160 +++ qt-2.3.8/src/kernel/qapplication_qws.cpp2004-07-23 19:08:46.000000000 +0200
161@@ -2896,6 +2896,11 @@
162 */
163 void QApplication::qwsSetDecoration( QWSDecoration *d )
164 {
165 +qwsSetDecoration_NonWeak ( d );
166+}
167+
168+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
169+{
170 if ( d ) {
171 delete qws_decoration;
172 qws_decoration = d;
173Nur in qt-2.3.8/src/kernel/: qapplication_qws.cpp.orig.
174diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.cpp qt-2.3.8/src/kernel/qfontdatabase.cpp
175 --- qt-2.3.8-old/src/kernel/qfontdatabase.cpp2004-07-22 01:07:45.000000000 +0200
176 +++ qt-2.3.8/src/kernel/qfontdatabase.cpp2004-07-23 19:08:46.000000000 +0200
177@@ -35,6 +35,8 @@
178 **
179 **********************************************************************/
180
181+#define QT_WEAK_SYMBOL __attribute__(( weak ))
182+
183 #include "qfontdatabase.h"
184
185 #ifndef QT_NO_FONTDATABASE
186@@ -2424,6 +2426,13 @@
187 const QString &style,
188 const QString &charSet )
189 {
190 +return pointSizes_NonWeak ( family, style, charSet );
191+}
192+
193+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
194+ const QString &style,
195+ const QString &charSet )
196+{
197 QString cs( charSet );
198 if ( charSet.isEmpty() ) {
199 QStringList lst = charSets( family );
200diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.h qt-2.3.8/src/kernel/qfontdatabase.h
201 --- qt-2.3.8-old/src/kernel/qfontdatabase.h2004-07-22 01:07:45.000000000 +0200
202 +++ qt-2.3.8/src/kernel/qfontdatabase.h2004-07-23 19:08:46.000000000 +0200
203@@ -59,6 +59,10 @@
204 class QDiskFont;
205 #endif
206
207+#if !defined( QT_WEAK_SYMBOL )
208+#define QT_WEAK_SYMBOL
209+#endif
210+
211 class QFontDatabasePrivate;
212
213 class Q_EXPORT QFontDatabase
214@@ -67,9 +71,16 @@
215 QFontDatabase();
216
217 QStringList families( bool onlyForLocale = TRUE ) const;
218+
219+
220 QValueList<int> pointSizes( const QString &family,
221 const QString &style = QString::null,
222 - const QString &charSet = QString::null );
223 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
224+private:
225+ QValueList<int> pointSizes_NonWeak( const QString &family,
226 + const QString &style,
227 + const QString &charSet );
228+public:
229 QStringList styles( const QString &family,
230 const QString &charSet = QString::null ) const;
231 QStringList charSets( const QString &familyName,
diff --git a/qt/qt-2.3.8.patch/qte238-encoding.patch b/qt/qt-2.3.8.patch/qte238-encoding.patch
deleted file mode 100644
index 5ddb43c..0000000
--- a/qt/qt-2.3.8.patch/qte238-encoding.patch
+++ b/dev/null
@@ -1,49 +0,0 @@
1German umlaute quite likely french, italian, spanish did
2not work due QFile::[decode,encode]Name did call QString
3local8Bit,fromLocal8Bit which plainly tried to use utf8
4encoding even if not useful. So a filename got changed
5and QFileInfo recognized the file not beeing present anymore...
6which lead to files not be shown.
7Also with Year-Names problem exists as the base system sent
8it encoded upstream.
9
10If you want to have UTF-8 encoding use LC_CTYPE as always and
11QTextCodec::codecForLocale will use the right UTF-8 encoding.
12
13As fallback the old behaviour was preserved
14
15
16
17
18
19
20
21 --- qt-2.3.8-old/src/tools/qstring.cpp2004-07-23 14:33:02.000000000 +0200
22 +++ qt-2.3.8/src/tools/qstring.cpp2004-07-23 14:32:31.000000000 +0200
23@@ -14469,7 +14469,11 @@
24 return qt_winQString2MB( *this );
25 #endif
26 #ifdef _WS_QWS_
27- return utf8(); // ##### if there is ANY 8 bit format supported?
28+ QTextCodec* codec = QTextCodec::codecForLocale();
29+ return codec
30 + ? codec->fromUnicode(*this)
31 + : utf8();
32+ //return latin1(); // ##### if there is ANY 8 bit format supported?
33 #endif
34 #endif
35 }
36@@ -14515,7 +14519,12 @@
37 return qt_winMB2QString( local8Bit );
38 #endif
39 #ifdef _WS_QWS_
40- return fromUtf8(local8Bit,len);
41+ QTextCodec* codec = QTextCodec::codecForLocale();
42+ if( len < 0) len = qstrlen(local8Bit);
43+ return codec
44 + ? codec->toUnicode(local8Bit, len)
45 + : QString::fromUtf8(local8Bit,len);
46+// return fromLatin1(local8Bit,len);
47 #endif
48 #endif // QT_NO_TEXTCODEC
49 }
diff --git a/qt/qt-2.3.8.patch/qte238-gcc34.patch b/qt/qt-2.3.8.patch/qte238-gcc34.patch
deleted file mode 100644
index 770740d..0000000
--- a/qt/qt-2.3.8.patch/qte238-gcc34.patch
+++ b/dev/null
@@ -1,440 +0,0 @@
1diff -ur qt-2.3.8_clean/include/qcstring.h qt-2.3.8/include/qcstring.h
2 --- qt-2.3.8_clean/include/qcstring.h2004-06-04 02:17:53.000000000 +0200
3 +++ qt-2.3.8/include/qcstring.h2004-06-04 02:24:25.000000000 +0200
4@@ -119,7 +119,7 @@
5 // We want to keep source compatibility for 2.x
6 // ### TODO for 4.0: completely remove these and the cstr* functions
7
8-#if !defined(QT_GENUINE_STR)
9+#if 0
10
11 #undefstrlen
12 #define strlen qstrlen
13diff -ur qt-2.3.8_clean/include/qglobal.h qt-2.3.8/include/qglobal.h
14 --- qt-2.3.8_clean/include/qglobal.h2004-06-04 02:17:53.000000000 +0200
15 +++ qt-2.3.8/include/qglobal.h2004-06-04 02:29:41.000000000 +0200
16@@ -207,8 +207,16 @@
17 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
18 #define Q_FP_CCAST_BROKEN
19 #endif
20+/* ARM gcc pads structs to 32 bits, even when they contain a single
21+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
22+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
23+ members of a packed struct. (Pointers are OK, because then you
24+ supposedly know what you are doing.) */
25 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
26 #define Q_PACKED __attribute__ ((packed))
27+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
28+# define Q_NO_PACKED_REFERENCE
29+# endif
30 #endif
31 #elif defined(__xlC__)
32 #define _CC_XLC_
33diff -ur qt-2.3.8_clean/include/qsortedlist.h qt-2.3.8/include/qsortedlist.h
34 --- qt-2.3.8_clean/include/qsortedlist.h2004-06-04 02:17:53.000000000 +0200
35 +++ qt-2.3.8/include/qsortedlist.h2004-06-04 02:24:25.000000000 +0200
36@@ -48,7 +48,7 @@
37 public:
38 QSortedList() {}
39 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
40- ~QSortedList() { clear(); }
41+ ~QSortedList() { this->clear(); }
42 QSortedList<type> &operator=(const QSortedList<type> &l)
43 { return (QSortedList<type>&)QList<type>::operator=(l); }
44
45diff -ur qt-2.3.8_clean/src/kernel/qgfxtransformed_qws.cpp qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp
46 --- qt-2.3.8_clean/src/kernel/qgfxtransformed_qws.cpp2004-06-04 02:17:53.000000000 +0200
47 +++ qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp2004-06-04 02:24:25.000000000 +0200
48@@ -671,11 +671,11 @@
49 inline int tx( int x, int y ) {
50 switch ( qt_trans_screen->transformation() ) {
51 case QTransformedScreen::Rot90:
52 - return y - xoffs + yoffs;
53 + return y - this->xoffs + this->yoffs;
54 case QTransformedScreen::Rot180:
55 - return (width - x - 1) - xoffs - xoffs;
56 + return (this->width - x - 1) - this->xoffs - this->xoffs;
57 case QTransformedScreen::Rot270:
58 - return (height - y - 1) - xoffs - yoffs;
59 + return (this->height - y - 1) - this->xoffs - this->yoffs;
60 default:
61 return x;
62 }
63@@ -683,11 +683,11 @@
64 inline int ty( int x, int y ) {
65 switch ( qt_trans_screen->transformation() ) {
66 case QTransformedScreen::Rot90:
67 - return (width - x - 1) - yoffs - xoffs;
68 + return (this->width - x - 1) - this->yoffs - this->xoffs;
69 case QTransformedScreen::Rot180:
70 - return (height - y - 1) - yoffs - yoffs;
71 + return (this->height - y - 1) - this->yoffs - this->yoffs;
72 case QTransformedScreen::Rot270:
73 - return x - yoffs + xoffs;
74 + return x - this->yoffs + this->xoffs;
75 default:
76 return y;
77 }
78@@ -715,23 +715,23 @@
79 template <const int depth, const int type>
80 void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y)
81 {
82- if ( srcbits == buffer ) {
83+ if ( this->srcbits == this->buffer ) {
84 switch ( qt_trans_screen->transformation() ) {
85 case QTransformedScreen::Rot90:
86 - srcwidgetoffs = QPoint( y, width - x - srcwidth );
87 + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth );
88 break;
89 case QTransformedScreen::Rot180:
90 - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight );
91 + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight );
92 break;
93 case QTransformedScreen::Rot270:
94 - srcwidgetoffs = QPoint( height - y - srcheight, x );
95 + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x );
96 break;
97 default:
98 - srcwidgetoffs = QPoint( x, y );
99 + this->srcwidgetoffs = QPoint( x, y );
100 break;
101 }
102 } else
103 -srcwidgetoffs = QPoint( x, y );
104 +this->srcwidgetoffs = QPoint( x, y );
105 }
106
107 template <const int depth, const int type>
108@@ -739,8 +739,8 @@
109 {
110 QT_TRANS_GFX_BASE<depth,type>::setSource(i);
111 QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) );
112- srcwidth = s.width();
113- srcheight = s.height();
114+ this->srcwidth = s.width();
115+ this->srcheight = s.height();
116 }
117
118 template <const int depth, const int type>
119@@ -782,7 +782,7 @@
120 if ( w == 0 || h == 0 )
121 return;
122 QRect r( x, y, w, h );
123- if ( cbrush.style() == SolidPattern ) {
124+ if ( this->cbrush.style() == Qt::SolidPattern ) {
125 r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) );
126 r = r.normalize();
127 }
128@@ -797,7 +797,7 @@
129 // solution. The brush offset logic is complicated enough, so we don't
130 // fastpath patternedbrush.
131
132- if ( inDraw || cpen.style()==NoPen || patternedbrush ) {
133+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) {
134 //slowpath
135 QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num );
136 } else {
137@@ -819,29 +819,29 @@
138 template <const int depth, const int type>
139 void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width )
140 {
141- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) {
142+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) {
143 //in the patternedbrush case, we let blt do the transformation
144 // so we leave inDraw false.
145 - QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
146 +QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width );
147 } else {
148 inDraw = TRUE;
149 while (n--) {
150 if ( *width > 0 ) {
151 - int x=tx(point->x(),point->y())+xoffs;
152 - int y=ty(point->x(),point->y())+yoffs;
153 + int x=tx(point->x(),point->y())+this->xoffs;
154 + int y=ty(point->x(),point->y())+this->yoffs;
155
156 switch( qt_trans_screen->transformation() ) {
157 case QTransformedScreen::Rot90:
158 - vline( x, y-(*width-1), y );
159 + this->vline( x, y-(*width-1), y );
160 break;
161 case QTransformedScreen::Rot180:
162 - hline( x - (*width-1), x, y );
163 + this->hline( x - (*width-1), x, y );
164 break;
165 case QTransformedScreen::Rot270:
166 - vline( x, y, y+*width-1 );
167 + this->vline( x, y, y+*width-1 );
168 break;
169 default:
170 - hline( x, x+*width-1, y );
171 + this->hline( x, x+*width-1, y );
172 break;
173 }
174 }
175@@ -896,14 +896,14 @@
176 switch ( qt_trans_screen->transformation() ) {
177 case QTransformedScreen::Rot90:
178 rsx = sy;
179 - rsy = srcwidth - sx - w;
180 + rsy = this->srcwidth - sx - w;
181 break;
182 case QTransformedScreen::Rot180:
183 - rsx = srcwidth - sx - w;
184 - rsy = srcheight - sy - h;
185 + rsx = this->srcwidth - sx - w;
186 + rsy = this->srcheight - sy - h;
187 break;
188 case QTransformedScreen::Rot270:
189 - rsx = srcheight - sy - h;
190 + rsx = this->srcheight - sy - h;
191 rsy = sx;
192 break;
193 default:
194@@ -941,39 +941,39 @@
195 r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) );
196 r = r.normalize();
197
198- QPoint oldBrushOffs = brushoffs;
199+ QPoint oldBrushOffs = this->brushoffs;
200 int brx, bry;
201 switch ( qt_trans_screen->transformation() ) {
202 case QTransformedScreen::Rot90:
203 - brx = brushoffs.y();
204 - bry = srcwidth - brushoffs.x() - w;
205 + brx = this->brushoffs.y();
206 + bry = this->srcwidth - this->brushoffs.x() - w;
207 break;
208 case QTransformedScreen::Rot180:
209 - brx = srcwidth - brushoffs.x() - w;
210 - bry = srcheight - brushoffs.y() - h;
211 + brx = this->srcwidth - this->brushoffs.x() - w;
212 + bry = this->srcheight - this->brushoffs.y() - h;
213 break;
214 case QTransformedScreen::Rot270:
215 - brx = srcheight - brushoffs.y() - h;
216 - bry = brushoffs.x();
217 + brx = this->srcheight - this->brushoffs.y() - h;
218 + bry = this->brushoffs.x();
219 break;
220 default:
221 - brx = brushoffs.x();
222 - bry = brushoffs.y();
223 + brx = this->brushoffs.x();
224 + bry = this->brushoffs.y();
225 break;
226 }
227- brushoffs = QPoint( brx, bry );
228+ this->brushoffs = QPoint( brx, bry );
229
230- int oldsw = srcwidth;
231- int oldsh = srcheight;
232- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) );
233- srcwidth = s.width();
234- srcheight = s.height();
235+ int oldsw = this->srcwidth;
236+ int oldsh = this->srcheight;
237+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) );
238+ this->srcwidth = s.width();
239+ this->srcheight = s.height();
240
241 QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() );
242
243- srcwidth = oldsw;
244- srcheight = oldsh;
245- brushoffs = oldBrushOffs;
246+ this->srcwidth = oldsw;
247+ this->srcheight = oldsh;
248+ this->brushoffs = oldBrushOffs;
249 inDraw = FALSE;
250 }
251
252diff -ur qt-2.3.8_clean/src/kernel/qgfxvfb_qws.cpp qt-2.3.8/src/kernel/qgfxvfb_qws.cpp
253 --- qt-2.3.8_clean/src/kernel/qgfxvfb_qws.cpp2004-06-04 02:17:53.000000000 +0200
254 +++ qt-2.3.8/src/kernel/qgfxvfb_qws.cpp2004-06-04 02:24:25.000000000 +0200
255@@ -31,7 +31,6 @@
256 **********************************************************************/
257
258 #include "qgfxraster_qws.h"
259-
260 #ifndef QT_NO_QWS_VFB
261
262 #include <sys/ipc.h>
263@@ -140,8 +139,8 @@
264 void QGfxVFb<depth,type>::drawPoint( int x, int y )
265 {
266 QWSDisplay::grab( TRUE );
267- if ( is_screen_gfx )
268 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) );
269+ if ( this->is_screen_gfx )
270 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) );
271 QGfxRaster<depth,type>::drawPoint( x, y );
272 QWSDisplay::ungrab();
273 }
274@@ -150,8 +149,8 @@
275 void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y )
276 {
277 QWSDisplay::grab( TRUE );
278- if ( is_screen_gfx )
279 -qvfb_screen->setDirty( clipbounds );
280+ if ( this->is_screen_gfx )
281 +qvfb_screen->setDirty( this->clipbounds );
282 QGfxRaster<depth,type>::drawPoints( pa, x, y );
283 QWSDisplay::ungrab();
284 }
285@@ -160,9 +159,9 @@
286 void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 )
287 {
288 QWSDisplay::grab( TRUE );
289- if ( is_screen_gfx ) {
290+ if ( this->is_screen_gfx ) {
291 QRect r;
292 -r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs );
293 +r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs );
294 qvfb_screen->setDirty( r.normalize() );
295 }
296 QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 );
297@@ -173,8 +172,8 @@
298 void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h )
299 {
300 QWSDisplay::grab( TRUE );
301- if ( is_screen_gfx )
302 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
303+ if ( this->is_screen_gfx )
304 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
305 QGfxRaster<depth,type>::fillRect( x, y, w, h );
306 QWSDisplay::ungrab();
307 }
308@@ -183,8 +182,8 @@
309 void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y )
310 {
311 QWSDisplay::grab( TRUE );
312- if ( is_screen_gfx )
313 -qvfb_screen->setDirty( clipbounds );
314+ if ( this->is_screen_gfx )
315 +qvfb_screen->setDirty( this->clipbounds );
316 QGfxRaster<depth,type>::drawPolyline( pa, x, y );
317 QWSDisplay::ungrab();
318 }
319@@ -193,8 +192,8 @@
320 void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y )
321 {
322 QWSDisplay::grab( TRUE );
323- if ( is_screen_gfx )
324 -qvfb_screen->setDirty( clipbounds );
325+ if ( this->is_screen_gfx )
326 +qvfb_screen->setDirty( this->clipbounds );
327 QGfxRaster<depth,type>::drawPolygon( pa, w, x, y );
328 QWSDisplay::ungrab();
329 }
330@@ -203,8 +202,8 @@
331 void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy )
332 {
333 QWSDisplay::grab( TRUE );
334- if ( is_screen_gfx )
335 -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) );
336+ if ( this->is_screen_gfx )
337 +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) );
338 QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy );
339 QWSDisplay::ungrab();
340 }
341@@ -215,8 +214,8 @@
342 QWSDisplay::grab( TRUE );
343 int dy = sy - y;
344 int dx = sx - x;
345- if ( is_screen_gfx )
346 -qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs,
347+ if ( this->is_screen_gfx )
348 +qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs,
349 w+abs(dx), h+abs(dy)) );
350 QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy );
351 QWSDisplay::ungrab();
352@@ -227,8 +226,8 @@
353 void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy )
354 {
355 QWSDisplay::grab( TRUE );
356- if ( is_screen_gfx )
357 -qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) );
358+ if ( this->is_screen_gfx )
359 +qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) );
360 QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy );
361 QWSDisplay::ungrab();
362 }
363@@ -238,8 +237,8 @@
364 void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h )
365 {
366 QWSDisplay::grab( TRUE );
367- if ( is_screen_gfx )
368 -qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) );
369+ if ( this->is_screen_gfx )
370 +qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) );
371 QGfxRaster<depth,type>::tiledBlt( x, y, w, h );
372 QWSDisplay::ungrab();
373 }
374diff -ur qt-2.3.8_clean/src/tools/qcstring.h qt-2.3.8/src/tools/qcstring.h
375 --- qt-2.3.8_clean/src/tools/qcstring.h2004-06-04 02:17:53.000000000 +0200
376 +++ qt-2.3.8/src/tools/qcstring.h2004-06-04 02:24:25.000000000 +0200
377@@ -119,7 +119,7 @@
378 // We want to keep source compatibility for 2.x
379 // ### TODO for 4.0: completely remove these and the cstr* functions
380
381-#if !defined(QT_GENUINE_STR)
382+#if 0
383
384 #undefstrlen
385 #define strlen qstrlen
386diff -ur qt-2.3.8_clean/src/tools/qglobal.h qt-2.3.8/src/tools/qglobal.h
387 --- qt-2.3.8_clean/src/tools/qglobal.h2004-06-04 02:17:53.000000000 +0200
388 +++ qt-2.3.8/src/tools/qglobal.h2004-06-04 02:29:41.000000000 +0200
389@@ -207,8 +207,16 @@
390 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
391 #define Q_FP_CCAST_BROKEN
392 #endif
393+/* ARM gcc pads structs to 32 bits, even when they contain a single
394+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
395+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
396+ members of a packed struct. (Pointers are OK, because then you
397+ supposedly know what you are doing.) */
398 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
399 #define Q_PACKED __attribute__ ((packed))
400+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
401+# define Q_NO_PACKED_REFERENCE
402+# endif
403 #endif
404 #elif defined(__xlC__)
405 #define _CC_XLC_
406Nur in qt-2.3.8/src/tools: qglobal.h~.
407diff -ur qt-2.3.8_clean/src/tools/qsortedlist.h qt-2.3.8/src/tools/qsortedlist.h
408 --- qt-2.3.8_clean/src/tools/qsortedlist.h2004-06-04 02:17:53.000000000 +0200
409 +++ qt-2.3.8/src/tools/qsortedlist.h2004-06-04 02:24:25.000000000 +0200
410@@ -48,7 +48,7 @@
411 public:
412 QSortedList() {}
413 QSortedList( const QSortedList<type> &l ) : QList<type>(l) {}
414- ~QSortedList() { clear(); }
415+ ~QSortedList() { this->clear(); }
416 QSortedList<type> &operator=(const QSortedList<type> &l)
417 { return (QSortedList<type>&)QList<type>::operator=(l); }
418
419diff -ur qt-2.3.8_clean/src/tools/qstring.h qt-2.3.8/src/tools/qstring.h
420 --- qt-2.3.8_clean/src/tools/qstring.h2004-06-04 02:17:53.000000000 +0200
421 +++ qt-2.3.8/src/tools/qstring.h2004-06-04 02:54:16.000000000 +0200
422@@ -163,8 +163,16 @@
423 bool isLetterOrNumber() const;
424 bool isDigit() const;
425
426+
427+#ifdef Q_NO_PACKED_REFERENCE
428+ uchar& cell() { return *(&cl); }
429+ uchar& row() { return *(&rw); }
430+#else
431 uchar& cell() { return cl; }
432- uchar& row() { return rw; }
433+ uchar& row() { return rw; }
434+#endif
435+
436+
437 uchar cell() const { return cl; }
438 uchar row() const { return rw; }
439
440Nur in qt-2.3.8/src/tools: qstring.h~.
diff --git a/qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch b/qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch
deleted file mode 100644
index 57c752e..0000000
--- a/qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch
+++ b/dev/null
@@ -1,15 +0,0 @@
1Not included in the ALL patch
2
3
4
5 --- qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp2004-07-22 01:07:45.000000000 +0200
6 +++ qt-2.3.8/src/kernel/qgfxraster_qws.cpp2004-07-23 19:10:03.000000000 +0200
7@@ -4400,7 +4400,7 @@
8 setAlphaType(IgnoreAlpha);
9 if ( w <= 0 || h <= 0 || !ncliprect ) return;
10 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
11-#ifdef QWS_EXPERIMENTAL_FASTPATH
12+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
13 // ### fix for 8bpp
14 // This seems to be reliable now, at least for 16bpp
15
diff --git a/qt/qt-2.3.8.patch/qte238-iconviewspeed.patch b/qt/qt-2.3.8.patch/qte238-iconviewspeed.patch
deleted file mode 100644
index 3351bbb..0000000
--- a/qt/qt-2.3.8.patch/qte238-iconviewspeed.patch
+++ b/dev/null
@@ -1,145 +0,0 @@
1Speed up patches backported from
2
3http://robotics.dei.unipd.it/~koral/KDE/kflicker.html
4
5and
6
7http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread)
8
9
10
11
12
13
14
15diff -ur qt-2.3.8-old/src/iconview/qiconview.cpp qt-2.3.8/src/iconview/qiconview.cpp
16 --- qt-2.3.8-old/src/iconview/qiconview.cpp2004-07-22 01:07:46.000000000 +0200
17 +++ qt-2.3.8/src/iconview/qiconview.cpp2004-07-23 19:13:09.000000000 +0200
18@@ -224,6 +224,7 @@
19 QIconView::SelectionMode selectionMode;
20 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
21 QRect *rubber;
22+ QPixmap *backBuffer;
23 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
24 *fullRedrawTimer;
25 int rastX, rastY, spacing;
26@@ -2267,6 +2268,7 @@
27 d->currentItem = 0;
28 d->highlightedItem = 0;
29 d->rubber = 0;
30+ d->backBuffer = 0;
31 d->scrollTimer = 0;
32 d->startDragItem = 0;
33 d->tmpCurrentItem = 0;
34@@ -2415,6 +2417,8 @@
35 delete item;
36 item = tmp;
37 }
38+ delete d->backBuffer;
39+ d->backBuffer = 0;
40 delete d->fm;
41 d->fm = 0;
42 #ifndef QT_NO_TOOLTIP
43@@ -2881,6 +2885,48 @@
44 }
45
46 /*!
47+ This function grabs all paintevents that otherwise would have been
48+ processed by the QScrollView::viewportPaintEvent(). Here we use a
49+ doublebuffer to reduce 'on-paint' flickering on QIconView
50+ (and of course its childs).
51+
52+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
53+*/
54+
55+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
56+{
57+ QWidget* vp = viewport();
58+ QRect r = pe->rect() & vp->rect();
59+ int ex = r.x() + contentsX();
60+ int ey = r.y() + contentsY();
61+ int ew = r.width();
62+ int eh = r.height();
63+
64+ if ( !d->backBuffer )
65 +d->backBuffer = new QPixmap(vp->size());
66+ if ( d->backBuffer->size() != vp->size() ) {
67 +//Resize function (with hysteesis). Uses a good compromise between memory
68 +//consumption and speed (number) of resizes.
69+ float newWidth = (float)vp->width();
70 +float newHeight = (float)vp->height();
71 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
72 +{
73 + newWidth *= 1.1892;
74 + newHeight *= 1.1892;
75 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
76 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
77 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
78+ }
79+
80+ QPainter p;
81+ p.begin(d->backBuffer, vp);
82+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
83+ p.end();
84+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
85+}
86+
87+/*!
88+
89 \reimp
90 */
91
92@@ -4937,7 +4983,7 @@
93 if ( !d->rubber )
94 drawDragShapes( d->oldDragPos );
95 }
96 - viewportPaintEvent( (QPaintEvent*)e );
97+ bufferedPaintEvent ((QPaintEvent*)e );
98 if ( d->dragging ) {
99 if ( !d->rubber )
100 drawDragShapes( d->oldDragPos );
101@@ -5374,11 +5420,19 @@
102 return;
103
104 if ( item->d->container1 && d->firstContainer ) {
105 -item->d->container1->items.removeRef( item );
106+ //Special-case checking of the last item, since this may be
107+ //called a few times for the same item.
108+ if (item->d->container1->items.last() == item)
109+ item->d->container1->items.removeLast();
110+ else
111+ item->d->container1->items.removeRef( item );
112 }
113 item->d->container1 = 0;
114 if ( item->d->container2 && d->firstContainer ) {
115 -item->d->container2->items.removeRef( item );
116+ if (item->d->container2->items.last() == item)
117+ item->d->container2->items.removeLast();
118+ else
119+ item->d->container2->items.removeRef( item );
120 }
121 item->d->container2 = 0;
122
123diff -ur qt-2.3.8-old/src/iconview/qiconview.h qt-2.3.8/src/iconview/qiconview.h
124 --- qt-2.3.8-old/src/iconview/qiconview.h2004-07-22 01:07:46.000000000 +0200
125 +++ qt-2.3.8/src/iconview/qiconview.h2004-07-23 19:13:09.000000000 +0200
126@@ -444,6 +444,7 @@
127 virtual void contentsDropEvent( QDropEvent *e );
128 #endif
129
130+ void bufferedPaintEvent( QPaintEvent* );
131 virtual void resizeEvent( QResizeEvent* e );
132 virtual void keyPressEvent( QKeyEvent *e );
133 virtual void focusInEvent( QFocusEvent *e );
134 --- qt-2.3.8-old/src/widgets/qscrollview.cpp2004-07-22 01:07:44.000000000 +0200
135 +++ qt-2.3.8/src/widgets/qscrollview.cpp2004-07-23 19:21:06.000000000 +0200
136@@ -1280,6 +1280,9 @@
137 case QEvent::LayoutHint:
138 d->autoResizeHint(this);
139 break;
140 +case QEvent::WindowActivate:
141 +case QEvent::WindowDeactivate:
142 + return TRUE;
143 default:
144 break;
145 }
diff --git a/qt/qt-2.3.8.patch/qte238-keyboard.patch b/qt/qt-2.3.8.patch/qte238-keyboard.patch
deleted file mode 100644
index 0ac321f..0000000
--- a/qt/qt-2.3.8.patch/qte238-keyboard.patch
+++ b/dev/null
@@ -1,47 +0,0 @@
1Free the Virtual Terminal and Keyboard on a segfault in all cases...
2
3
4diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp
5 --- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp2004-07-22 01:07:45.000000000 +0200
6 +++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp2004-07-23 19:13:52.000000000 +0200
7@@ -314,7 +314,7 @@
8 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63
9 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64
10 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65
11 - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66
12+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
13 { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
14 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68
15 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69
16Nur in qt-2.3.8/src/kernel/: qkeyboard_qws.cpp.orig.
17diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp
18 --- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp2004-07-22 01:07:45.000000000 +0200
19 +++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp2004-07-23 19:13:52.000000000 +0200
20@@ -1273,6 +1273,18 @@
21 {
22 }
23
24+static void catchSegvSignal( int )
25+{
26+#ifndef QT_NO_QWS_KEYBOARD
27+ if ( qwsServer )
28 +qwsServer->closeKeyboard();
29+#endif
30+ QWSServer::closedown();
31+ fprintf(stderr, "Segmentation fault.\n");
32+ exit(1);
33+}
34+
35+
36 /*!
37 \class QWSServer qwindowsystem_qws.h
38 \brief Server-specific functionality in Qt/Embedded
39@@ -1365,6 +1377,7 @@
40 }
41
42 signal(SIGPIPE, ignoreSignal); //we get it when we read
43+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
44 #endif
45 focusw = 0;
46 mouseGrabber = 0;
47Nur in qt-2.3.8/src/kernel/: qwindowsystem_qws.cpp.orig.
diff --git a/qt/qt-2.3.9.patch/qte239-all.patch b/qt/qt-2.3.9.patch/qte239-all.patch
deleted file mode 100644
index 533652d..0000000
--- a/qt/qt-2.3.9.patch/qte239-all.patch
+++ b/dev/null
@@ -1,510 +0,0 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.9-snapshot-20041102/src/iconview/qiconview.cpp~qte239-all
7+++ qt-2.3.9-snapshot-20041102/src/iconview/qiconview.cpp
8@@ -225,6 +225,7 @@
9 QIconView::SelectionMode selectionMode;
10 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
11 QRect *rubber;
12+ QPixmap *backBuffer;
13 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
14 *fullRedrawTimer;
15 int rastX, rastY, spacing;
16@@ -2268,6 +2269,7 @@
17 d->currentItem = 0;
18 d->highlightedItem = 0;
19 d->rubber = 0;
20+ d->backBuffer = 0;
21 d->scrollTimer = 0;
22 d->startDragItem = 0;
23 d->tmpCurrentItem = 0;
24@@ -2416,6 +2418,8 @@
25 delete item;
26 item = tmp;
27 }
28+ delete d->backBuffer;
29+ d->backBuffer = 0;
30 delete d->fm;
31 d->fm = 0;
32 #ifndef QT_NO_TOOLTIP
33@@ -2882,6 +2886,48 @@
34 }
35
36 /*!
37+ This function grabs all paintevents that otherwise would have been
38+ processed by the QScrollView::viewportPaintEvent(). Here we use a
39+ doublebuffer to reduce 'on-paint' flickering on QIconView
40+ (and of course its childs).
41+
42+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
43+*/
44+
45+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
46+{
47+ QWidget* vp = viewport();
48+ QRect r = pe->rect() & vp->rect();
49+ int ex = r.x() + contentsX();
50+ int ey = r.y() + contentsY();
51+ int ew = r.width();
52+ int eh = r.height();
53+
54+ if ( !d->backBuffer )
55 +d->backBuffer = new QPixmap(vp->size());
56+ if ( d->backBuffer->size() != vp->size() ) {
57 +//Resize function (with hysteesis). Uses a good compromise between memory
58 +//consumption and speed (number) of resizes.
59+ float newWidth = (float)vp->width();
60 +float newHeight = (float)vp->height();
61 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
62 +{
63 + newWidth *= 1.1892;
64 + newHeight *= 1.1892;
65 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
66 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
67 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
68+ }
69+
70+ QPainter p;
71+ p.begin(d->backBuffer, vp);
72+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
73+ p.end();
74+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
75+}
76+
77+/*!
78+
79 \reimp
80 */
81
82@@ -4939,7 +4985,7 @@
83 if ( !d->rubber )
84 drawDragShapes( d->oldDragPos );
85 }
86 - viewportPaintEvent( (QPaintEvent*)e );
87+ bufferedPaintEvent ((QPaintEvent*)e );
88 if ( d->dragging ) {
89 if ( !d->rubber )
90 drawDragShapes( d->oldDragPos );
91@@ -5377,11 +5423,19 @@
92 return;
93
94 if ( item->d->container1 && d->firstContainer ) {
95 -item->d->container1->items.removeRef( item );
96+ //Special-case checking of the last item, since this may be
97+ //called a few times for the same item.
98+ if (item->d->container1->items.last() == item)
99+ item->d->container1->items.removeLast();
100+ else
101+ item->d->container1->items.removeRef( item );
102 }
103 item->d->container1 = 0;
104 if ( item->d->container2 && d->firstContainer ) {
105 -item->d->container2->items.removeRef( item );
106+ if (item->d->container2->items.last() == item)
107+ item->d->container2->items.removeLast();
108+ else
109+ item->d->container2->items.removeRef( item );
110 }
111 item->d->container2 = 0;
112
113--- qt-2.3.9-snapshot-20041102/src/iconview/qiconview.h~qte239-all
114+++ qt-2.3.9-snapshot-20041102/src/iconview/qiconview.h
115@@ -444,6 +444,7 @@
116 virtual void contentsDropEvent( QDropEvent *e );
117 #endif
118
119+ void bufferedPaintEvent( QPaintEvent* );
120 virtual void resizeEvent( QResizeEvent* e );
121 virtual void keyPressEvent( QKeyEvent *e );
122 virtual void focusInEvent( QFocusEvent *e );
123--- qt-2.3.9-snapshot-20041102/src/kernel/qapplication.cpp~qte239-all
124+++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication.cpp
125@@ -35,6 +35,8 @@
126 **
127 **********************************************************************/
128
129 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
130+
131 #include "qobjectlist.h"
132 #include "qobjectdict.h"
133 #include "qapplication.h"
134@@ -937,11 +939,16 @@
135 #ifndef QT_NO_STYLE
136 void QApplication::setStyle( QStyle *style )
137 {
138 +setStyle_NonWeak ( style );
139+}
140+
141+void QApplication::setStyle_NonWeak( QStyle *style )
142+{
143 QStyle* old = app_style;
144- app_style = style;
145
146 if ( startingUp() ) {
147 delete old;
148 +app_style = style;
149 return;
150 }
151
152@@ -962,6 +969,8 @@
153 old->unPolish( qApp );
154 }
155
156+ app_style = style;
157+
158 // take care of possible palette requirements of certain gui
159 // styles. Do it before polishing the application since the style
160 // might call QApplication::setStyle() itself
161@@ -1188,13 +1197,30 @@
162 \sa QWidget::setPalette(), palette(), QStyle::polish()
163 */
164
165-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
166+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
167 + const char* className )
168+{
169 +setPalette_NonWeak ( palette, informWidgets, className );
170+}
171+
172+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
173 const char* className )
174 {
175 QPalette pal = palette;
176 #ifndef QT_NO_STYLE
177- if ( !startingUp() )
178+ if ( !startingUp() ) {
179 qApp->style().polish( pal );// NB: non-const reference
180 +if ( className ) {
181 + // if we just polished a class specific palette (this normally
182 + // only called by qt_fix_tooltips - see below), we better re-
183 + // polish the global palette. Some styles like liquid can get
184 + // confused, because they can not detect if the polished palette
185 + // is the global one or only a class specific one.
186 + // (liquid uses this palette to calculate blending pixmaps)
187 + QPalette p = qApp-> palette ( );
188 + qApp->style().polish ( p );
189 +}
190+ }
191 #endif
192 bool all = FALSE;
193 if ( !className ) {
194@@ -1279,6 +1305,12 @@
195 void QApplication::setFont( const QFont &font, bool informWidgets,
196 const char* className )
197 {
198 +setFont_NonWeak ( font, informWidgets, className );
199+}
200+
201+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
202 + const char* className )
203+{
204 bool all = FALSE;
205 if ( !className ) {
206 if ( !app_font ) {
207--- qt-2.3.9-snapshot-20041102/src/kernel/qapplication.h~qte239-all
208+++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication.h
209@@ -61,6 +61,10 @@
210 class QSemaphore;
211 #endif
212
213+#if !defined( QT_WEAK_SYMBOL )
214+#define QT_WEAK_SYMBOL
215+#endif
216+
217 // REMOVE IN 3.0 (just here for moc source compatibility)
218 #define QNonBaseApplication QApplication
219
220@@ -85,7 +89,10 @@
221
222 #ifndef QT_NO_STYLE
223 static QStyle &style();
224 - static void setStyle( QStyle* );
225 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
226+private:
227 +static void setStyle_NonWeak( QStyle* );
228+public:
229 #endif
230 #if 1/* OBSOLETE */
231 enum ColorMode { NormalColors, CustomColors };
232@@ -106,11 +113,19 @@
233 #ifndef QT_NO_PALETTE
234 static QPalette palette( const QWidget* = 0 );
235 static void setPalette( const QPalette &, bool informWidgets=FALSE,
236 + const char* className = 0 ) QT_WEAK_SYMBOL;
237+private:
238 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
239 const char* className = 0 );
240+public:
241 #endif
242 static QFont font( const QWidget* = 0 );
243 static void setFont( const QFont &, bool informWidgets=FALSE,
244 + const char* className = 0 ) QT_WEAK_SYMBOL;
245+private:
246 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
247 const char* className = 0 );
248 +public:
249 static QFontMetrics fontMetrics();
250
251 QWidget *mainWidget() const;
252@@ -207,7 +222,10 @@
253 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
254 #ifndef QT_NO_QWS_MANAGER
255 static QWSDecoration &qwsDecoration();
256- static void qwsSetDecoration( QWSDecoration *);
257+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
258+private:
259+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
260+public:
261 #endif
262 #endif
263
264--- qt-2.3.9-snapshot-20041102/src/kernel/qapplication_qws.cpp~qte239-all
265+++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication_qws.cpp
266@@ -2905,6 +2905,11 @@
267 */
268 void QApplication::qwsSetDecoration( QWSDecoration *d )
269 {
270 +qwsSetDecoration_NonWeak ( d );
271+}
272+
273+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
274+{
275 if ( d ) {
276 delete qws_decoration;
277 qws_decoration = d;
278--- qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.cpp~qte239-all
279+++ qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.cpp
280@@ -35,6 +35,8 @@
281 **
282 **********************************************************************/
283
284+#define QT_WEAK_SYMBOL __attribute__(( weak ))
285+
286 #include "qfontdatabase.h"
287
288 #ifndef QT_NO_FONTDATABASE
289@@ -2424,6 +2426,13 @@
290 const QString &style,
291 const QString &charSet )
292 {
293 +return pointSizes_NonWeak ( family, style, charSet );
294+}
295+
296+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
297+ const QString &style,
298+ const QString &charSet )
299+{
300 QString cs( charSet );
301 if ( charSet.isEmpty() ) {
302 QStringList lst = charSets( family );
303--- qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.h~qte239-all
304+++ qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.h
305@@ -59,6 +59,10 @@
306 class QDiskFont;
307 #endif
308
309+#if !defined( QT_WEAK_SYMBOL )
310+#define QT_WEAK_SYMBOL
311+#endif
312+
313 class QFontDatabasePrivate;
314
315 class Q_EXPORT QFontDatabase
316@@ -67,9 +71,16 @@
317 QFontDatabase();
318
319 QStringList families( bool onlyForLocale = TRUE ) const;
320+
321+
322 QValueList<int> pointSizes( const QString &family,
323 const QString &style = QString::null,
324 - const QString &charSet = QString::null );
325 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
326+private:
327+ QValueList<int> pointSizes_NonWeak( const QString &family,
328 + const QString &style,
329 + const QString &charSet );
330+public:
331 QStringList styles( const QString &family,
332 const QString &charSet = QString::null ) const;
333 QStringList charSets( const QString &familyName,
334--- qt-2.3.9-snapshot-20041102/src/kernel/qgfxraster_qws.cpp~qte239-all
335+++ qt-2.3.9-snapshot-20041102/src/kernel/qgfxraster_qws.cpp
336@@ -4408,7 +4408,7 @@
337 setAlphaType(IgnoreAlpha);
338 if ( w <= 0 || h <= 0 || !ncliprect ) return;
339 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
340-#ifdef QWS_EXPERIMENTAL_FASTPATH
341+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
342 // ### fix for 8bpp
343 // This seems to be reliable now, at least for 16bpp
344
345--- qt-2.3.9-snapshot-20041102/src/kernel/qkeyboard_qws.cpp~qte239-all
346+++ qt-2.3.9-snapshot-20041102/src/kernel/qkeyboard_qws.cpp
347@@ -314,7 +314,7 @@
348 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63
349 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64
350 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65
351 - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66
352+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
353 { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
354 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68
355 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69
356--- qt-2.3.9-snapshot-20041102/src/kernel/qwindowsystem_qws.cpp~qte239-all
357+++ qt-2.3.9-snapshot-20041102/src/kernel/qwindowsystem_qws.cpp
358@@ -913,6 +913,18 @@
359 {
360 }
361
362+static void catchSegvSignal( int )
363+{
364+#ifndef QT_NO_QWS_KEYBOARD
365+ if ( qwsServer )
366 +qwsServer->closeKeyboard();
367+#endif
368+ QWSServer::closedown();
369+ fprintf(stderr, "Segmentation fault.\n");
370+ exit(1);
371+}
372+
373+
374 /*!
375 \class QWSServer qwindowsystem_qws.h
376 \brief Server-specific functionality in Qt/Embedded
377@@ -1038,6 +1050,7 @@
378 }
379
380 signal(SIGPIPE, ignoreSignal); //we get it when we read
381+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
382 #endif
383 focusw = 0;
384 mouseGrabber = 0;
385--- qt-2.3.9-snapshot-20041102/src/tools/qcstring.h~qte239-all
386+++ qt-2.3.9-snapshot-20041102/src/tools/qcstring.h
387@@ -119,7 +119,7 @@
388 // We want to keep source compatibility for 2.x
389 // ### TODO for 4.0: completely remove these and the cstr* functions
390
391-#if !defined(QT_GENUINE_STR)
392+#if 0
393
394 #undefstrlen
395 #define strlen qstrlen
396--- qt-2.3.9-snapshot-20041102/src/tools/qglobal.h~qte239-all
397+++ qt-2.3.9-snapshot-20041102/src/tools/qglobal.h
398@@ -207,8 +207,16 @@
399 #if __GNUC__ == 2 && __GNUC_MINOR__ == 96
400 #define Q_FP_CCAST_BROKEN
401 #endif
402+/* ARM gcc pads structs to 32 bits, even when they contain a single
403+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid
404+ QString bloat. However, gcc 3.4 doesn't allow us to create references to
405+ members of a packed struct. (Pointers are OK, because then you
406+ supposedly know what you are doing.) */
407 #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
408 #define Q_PACKED __attribute__ ((packed))
409+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
410+# define Q_NO_PACKED_REFERENCE
411+# endif
412 #endif
413 #elif defined(__xlC__)
414 #define _CC_XLC_
415--- qt-2.3.9-snapshot-20041102/src/tools/qstring.cpp~qte239-all
416+++ qt-2.3.9-snapshot-20041102/src/tools/qstring.cpp
417@@ -14469,7 +14469,11 @@
418 return qt_winQString2MB( *this );
419 #endif
420 #ifdef _WS_QWS_
421- return utf8(); // ##### if there is ANY 8 bit format supported?
422+ QTextCodec* codec = QTextCodec::codecForLocale();
423+ return codec
424 + ? codec->fromUnicode(*this)
425 + : utf8();
426+ //return latin1(); // ##### if there is ANY 8 bit format supported?
427 #endif
428 #endif
429 }
430@@ -14515,7 +14519,12 @@
431 return qt_winMB2QString( local8Bit );
432 #endif
433 #ifdef _WS_QWS_
434- return fromUtf8(local8Bit,len);
435+ QTextCodec* codec = QTextCodec::codecForLocale();
436+ if( len < 0) len = qstrlen(local8Bit);
437+ return codec
438 + ? codec->toUnicode(local8Bit, len)
439 + : QString::fromUtf8(local8Bit,len);
440+// return fromLatin1(local8Bit,len);
441 #endif
442 #endif // QT_NO_TEXTCODEC
443 }
444--- qt-2.3.9-snapshot-20041102/src/widgets/qcommonstyle.cpp~qte239-all
445+++ qt-2.3.9-snapshot-20041102/src/widgets/qcommonstyle.cpp
446@@ -572,7 +572,7 @@
447 bool enabled, bool active )
448 {
449 #ifndef QT_NO_MENUBAR
450-#ifndef QT_NO_STYLE_SGI
451+#if 1 // #ifndef QT_NO_STYLE_SGI
452 if (draw_menu_bar_impl != 0) {
453 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
454 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
455--- qt-2.3.9-snapshot-20041102/src/widgets/qlistview.cpp~qte239-all
456+++ qt-2.3.9-snapshot-20041102/src/widgets/qlistview.cpp
457@@ -5051,9 +5051,9 @@
458 l = l->childItem ? l->childItem : l->siblingItem;
459
460 if ( l && l->height() )
461 -s.setHeight( s.height() + 10 * l->height() );
462- else
463 -s.setHeight( s.height() + 140 );
464 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
465+ else // ^v much too big for handhelds
466 +s.setHeight( s.height() + 30 /*140*/ );
467
468 if ( s.width() > s.height() * 3 )
469 s.setHeight( s.width() / 3 );
470--- qt-2.3.9-snapshot-20041102/src/widgets/qscrollview.cpp~qte239-all
471+++ qt-2.3.9-snapshot-20041102/src/widgets/qscrollview.cpp
472@@ -1285,6 +1285,9 @@
473 case QEvent::LayoutHint:
474 d->autoResizeHint(this);
475 break;
476 +case QEvent::WindowActivate:
477 +case QEvent::WindowDeactivate:
478 + return TRUE;
479 default:
480 break;
481 }
482--- qt-2.3.9-snapshot-20041102/src/widgets/qtoolbutton.cpp~qte239-all
483+++ qt-2.3.9-snapshot-20041102/src/widgets/qtoolbutton.cpp
484@@ -238,7 +238,7 @@
485 else
486 QToolTip::add( this, textLabel );
487 }
488 -#endif
489+#endif
490 }
491
492
493@@ -332,12 +332,12 @@
494 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
495 w = pm.width();
496 h = pm.height();
497 -if ( w < 32 )
498 - w = 32;
499 -if ( h < 32 )
500 - h = 32;
501 +if ( w < 24 )
502 + w = 24;
503 +if ( h < 24 )
504 + h = 24;
505 } else {
506 -w = h = 16;
507 +w = h = 14;
508 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
509 w = pm.width();
510 h = pm.height();
diff --git a/qt/qt-2.3.9.patch/qte239-qwsmouse.patch b/qt/qt-2.3.9.patch/qte239-qwsmouse.patch
deleted file mode 100644
index 865516e..0000000
--- a/qt/qt-2.3.9.patch/qte239-qwsmouse.patch
+++ b/dev/null
@@ -1,301 +0,0 @@
1#
2# Patch managed by http://www.holgerschurig.de/patcher.html
3#
4
5--- qt-2.3.9-snapshot-20041211/src/kernel/qwsmouse_qws.cpp~tslib.patch
6+++ qt-2.3.9-snapshot-20041211/src/kernel/qwsmouse_qws.cpp
7@@ -7,6 +7,14 @@
8 **
9 ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
10 **
11+** Portions Copyright (C) 2003 Texas Instruments, Inc.
12+** Rights to said portions for use under the GPL and QPL licenses
13+** are hereby granted to Trolltech AS.
14+**
15+** Portions Copyright (C) 2004 Holger Hans Peter Freyther <freyther@handhelds.org>
16+** Rights to said portions for use under the GPL and QPL licenses
17+** are hereby granted to Trolltech AS.
18+**
19 ** This file is part of the kernel module of the Qt GUI Toolkit.
20 **
21 ** This file may be distributed and/or modified under the terms of the
22@@ -60,6 +68,10 @@
23 #include <linux/tpanel.h>
24 #endif
25
26+#ifdef QWS_TSLIB
27+#include <tslib.h>
28+#endif
29+
30 //#define QT_QWS_K2
31
32 #if defined(QT_QWS_IPAQ) || defined(QT_QWS_K2)
33@@ -1124,6 +1136,221 @@
34 return sent;
35 }
36
37+
38+class QTSLibHandler : public QCalibratedMouseHandler
39+{
40+ Q_OBJECT
41+public:
42+ QTSLibHandler();
43+ ~QTSLibHandler();
44+
45+ virtual void clearCalibration();
46+ virtual void calibrate( QWSPointerCalibrationData * );
47+
48+ static int sortByX( const void*, const void* );
49+ static int sortByY( const void*, const void* );
50+private:
51+ void openTs();
52+ void closeTs();
53+ void interpolateSample();
54+
55+private:
56+ bool raw : 1;
57+#ifdef QWS_TSLIB
58+ struct tsdev *ts;
59+#endif
60+ QSocketNotifier *m_notify;
61+
62+private slots:
63+ void readMouseData();
64+};
65+
66+QTSLibHandler::QTSLibHandler()
67+ : raw(false), m_notify(0l)
68+{
69+ openTs();
70+}
71+
72+QTSLibHandler::~QTSLibHandler()
73+{
74+ closeTs();
75+}
76+
77+void QTSLibHandler::openTs()
78+{
79+#ifdef QWS_TSLIB
80+ char *tsdevice;
81+
82+ if( ( tsdevice = getenv( "TSLIB_TSDEVICE" ) ) != NULL ) {
83+ ts = ts_open( tsdevice, 1 );
84+ } else {
85+ ts = ts_open( "/dev/ts", 1 );
86+ }
87+
88+ if (!ts) {
89+ qWarning( "Cannot open touchscreen (%s)", strerror( errno ) );
90+ return;
91+ }
92+
93+ if (ts_config( ts )) {
94+ qWarning( "Cannot configure touchscreen (%s)", strerror( errno ) );
95+ return;
96+ }
97+
98+
99+ m_notify = new QSocketNotifier( ts_fd(ts), QSocketNotifier::Read, this );
100+ connect( m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData()));
101+#endif
102+}
103+
104+void QTSLibHandler::closeTs()
105+{
106+#ifdef QWS_TSLIB
107+ if (ts)
108+ ts_close(ts);
109+
110+ delete m_notify;
111+ m_notify = 0; ts = 0;
112+ raw = false;
113+#endif
114+
115+}
116+
117+void QTSLibHandler::clearCalibration()
118+{
119+ raw = true;
120+}
121+
122+
123+void QTSLibHandler::calibrate( QWSPointerCalibrationData *cd )
124+{
125+ QPoint dev_tl = cd->devPoints[ QWSPointerCalibrationData::TopLeft ];
126+ QPoint dev_br = cd->devPoints[ QWSPointerCalibrationData::BottomRight ];
127+ QPoint screen_tl = cd->screenPoints[ QWSPointerCalibrationData::TopLeft ];
128+ QPoint screen_br = cd->screenPoints[ QWSPointerCalibrationData::BottomRight ];
129+ int a, b, c, d, e, f, s;
130+
131+ s = 1 << 16;
132+
133+ a = s * (screen_tl.x() - screen_br.x() ) / (dev_tl.x() - dev_br.x());
134+ b = 0;
135+ c = s * screen_tl.x() - a * dev_tl.x();
136+
137+ d = 0;
138+ e = s * (screen_tl.y() - screen_br.y() ) / (dev_tl.y() - dev_br.y());
139+ f = s * screen_tl.y() - e * dev_tl.y();
140+
141+ QString calFile = "/etc/pointercal";
142+#ifndef QT_NO_TEXTSTREAM
143+ QFile file( calFile );
144+ if ( file.open( IO_WriteOnly ) ) {
145+ QTextStream t( &file );
146+ t << a << " " << b << " " << c << " ";
147+ t << d << " " << e << " " << f << " " << s;
148+ file.flush(); closeTs();
149+ openTs();
150+ } else
151+#endif
152+ {
153+ qDebug( "Could not save calibration: %s", calFile.latin1() );
154+ }
155+}
156+
157+void QTSLibHandler::readMouseData()
158+{
159+#ifdef QWS_TSLIB
160+ if(!qt_screen)
161+ return;
162+
163+ /*
164+ * After clear Calibration
165+ * we're in raw mode and do some easy median
166+ * search.
167+ */
168+ if (raw )
169+ return interpolateSample();
170+
171+ static struct ts_sample sample;
172+ static int ret;
173+
174+ /*
175+ * Ok. We need to see if we can read more than one event
176+ * We do this not to lose an update.
177+ */
178+ while ( true ) {
179+ if ((ret = ts_read(ts, &sample, 1)) != 1 )
180+ return;
181+
182+
183+ QPoint pos( sample.x, sample.y );
184+ emit mouseChanged( pos, sample.pressure != 0 ? 1 : 0 );
185+ }
186+#endif
187+}
188+
189+
190+/*
191+ * Lets take all down events and then sort them
192+ * and take the event in the middle.
193+ *
194+ * inspired by testutils.c
195+ */
196+void QTSLibHandler::interpolateSample() {
197+ static struct ts_sample samples[25];
198+ int index = 0;
199+ int ret;
200+
201+ do {
202+ /* fill only the last sample again */
203+ if ( index >= 25 )
204+ index = 24;
205+
206+ /* we're opened non-blocking */
207+ if((ret= ts_read_raw(ts, &samples[index], 1 ) ) != 1 ) {
208+ /* no event yet, so try again */
209+ if (ret==-1 ) {
210+ index--;
211+ continue;
212+ }
213+ }
214+ }while (samples[index++].pressure != 0);
215+
216+ /*
217+ * index is maximal 25 and we at least one sample
218+ */
219+ if( index >= 25 )
220+ index = 24;
221+ int x, y;
222+
223+ /*
224+ * now let us use the median value
225+ * even index does not have an item in the middle
226+ * so let us take the average of n/2 and (n/2)-1 as the middle
227+ */
228+ int m = index/2;
229+ ::qsort(samples, index, sizeof(ts_sample), QTSLibHandler::sortByX);
230+ x = (index % 2 ) ? samples[m].x :
231+ ( samples[m-1].x + samples[m].x )/2;
232+
233+ ::qsort(samples, index, sizeof(ts_sample), QTSLibHandler::sortByY);
234+ y = (index % 2 ) ? samples[m].y :
235+ ( samples[m-1].y + samples[m].y )/2;
236+
237+ emit mouseChanged( QPoint(x, y), 1 );
238+ emit mouseChanged( QPoint(0, 0), 0 );
239+}
240+
241+int QTSLibHandler::sortByX( const void* one, const void* two) {
242+ return reinterpret_cast<const struct ts_sample*>(one)->x -
243+ reinterpret_cast<const struct ts_sample*>(two)->x;
244+}
245+
246+int QTSLibHandler::sortByY( const void* one, const void* two) {
247+ return reinterpret_cast<const struct ts_sample*>(one)->y -
248+ reinterpret_cast<const struct ts_sample*>(two)->y;
249+}
250+
251+
252 /*
253 * Handler for /dev/tpanel Linux kernel driver
254 */
255@@ -1731,7 +1958,9 @@
256
257 case TPanel:
258 #if defined(QWS_CUSTOMTOUCHPANEL)
259- handler = new QCustomTPanelHandlerPrivate(mouseProtocol,mouseDev);
260+ handler = new QCustomTPanelHandlerPrivate(mouseProtocol,mouseDev);
261+#elif defined(QWS_TSLIB)
262+ handler = new QTSLibHandler();
263 #elif defined(QT_QWS_YOPY)
264 handler = new QYopyTPanelHandlerPrivate(mouseProtocol,mouseDev);
265 #elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2)
266--- qt-2.3.9-snapshot-20041211/configure~tslib.patch
267+++ qt-2.3.9-snapshot-20041211/configure
268@@ -406,6 +406,9 @@
269 -kde)
270 KDE=yes
271 ;;
272+ -tslib)
273+ TSLIB=YES
274+ ;;
275 -no-g++-exceptions)
276 GPLUSPLUS_EXCEPTIONS=no
277 ;;
278@@ -1290,6 +1293,9 @@
279 set to point to a KDE 2 installation.
280 See http://www.kde.org
281
282+ -tslib ............. Use the TSLib (touchscreen access library) mouse handler
283+ by default, instead of the normal device default.
284+
285 -no-g++-exceptions . Disable exceptions on platforms using the GNU C++
286 compiler by using the -fno-exceptions flag.
287
288@@ -1353,6 +1359,13 @@
289 [ "x$SM" = "xno" ] && QT_CXX="${QT_CXX} -DQT_NO_SM_SUPPORT"
290 [ "x$XFT" = "xyes" ] && QT_CXX="${QT_CXX} -DQT_XFT"
291 [ "x$XFT" = "xno" ] && QT_CXX="${QT_CXX} -DQT_NO_XKB"
292+
293+if [ "x$TSLIB" = "xyes" ]
294+then
295+ QT_CXX="${QT_CXX} -DQWS_TSLIB"
296+ QT_LIBS="${QT_LIBS} -lts"
297+fi
298+
299 if [ "x$THREAD" = "xyes" ]
300 then
301 cat >src-mt.mk <<EOF