summaryrefslogtreecommitdiff
path: root/qt/qt-2.3.7.patch
authormickeyl <mickeyl>2005-02-19 16:07:58 (UTC)
committer mickeyl <mickeyl>2005-02-19 16:07:58 (UTC)
commitb7bf9c7acdc010eb30bc246372efb0d1b394166a (patch) (unidiff)
tree8dde116603cd8ddf439a881fc4a1d8f413af617b /qt/qt-2.3.7.patch
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/qt-2.3.7.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.7.patch/qte237-0-vtswitch.patch205
-rw-r--r--qt/qt-2.3.7.patch/qte237-1-daemon.patch113
-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-iconviewspeed.patch142
-rw-r--r--qt/qt-2.3.7.patch/qte237-keyboard.patch43
-rw-r--r--qt/qt-2.3.7.patch/qte237-lefthand.patch133
13 files changed, 0 insertions, 4388 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch b/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch
deleted file mode 100644
index be2745c..0000000
--- a/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch
+++ b/dev/null
@@ -1,205 +0,0 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- qt-2.3.7/src/kernel/qapplication_qws.cpp~vt-switch.patch
7+++ qt-2.3.7/src/kernel/qapplication_qws.cpp
8@@ -123,6 +123,12 @@
9 static int qt_thread_pipe[2];
10 #endif
11
12+#if defined(_OS_LINUX_)
13+#include <sys/ioctl.h>
14+#include <linux/vt.h>
15+#include <linux/kd.h>
16+#endif
17+
18 const int qwsSharedRamSize = 32 * 1024;//Small amount to fit on small devices.
19
20 // These are in qapplication.cpp in qt/main
21@@ -163,6 +169,8 @@
22 bool qws_accel = TRUE; // ### never set
23 const char *qws_display_spec = ":0";
24 int qws_display_id = 0;
25+int qws_terminal_id = 0;
26+int qws_terminal_old = 0;
27 int qws_client_id = 0;
28 QWidget *qt_pressGrab = 0;
29 QWidget *qt_mouseGrb = 0;
30@@ -1628,6 +1636,15 @@
31 type = QApplication::GuiServer;
32 } else if ( arg == "-interlaced" ) {
33 qws_screen_is_interlaced = TRUE;
34+ } else if ( arg == "-terminal" ) {
35+ if ( ++i < argc )
36+ {
37+ if ( ( qws_terminal_id = atoi( argv[i] ) ) < 1 )
38+ {
39+ qWarning( "Ignoring Invalid Terminal Specification." );
40+ qws_terminal_id = 0;
41+ }
42+ }
43 } else if ( arg == "-display" ) {
44 if ( ++i < argc )
45 qws_display_spec = argv[i];
46@@ -1652,6 +1669,53 @@
47 if ( type == QApplication::GuiServer ) {
48 qt_appType = type;
49 qws_single_process = TRUE;
50+
51+ /* Allocate a dedicated virtual terminal -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
52+ * Added a new command line option which only is relevant if the application is created as a GuiServer.
53+ * The option is -terminal <num>, where <num> specifies the virtual terminal to be occupied by the server.
54+ * As default in Linux, 0 means the current virtual terminal.
55+ */
56+ #if defined(_OS_LINUX_)
57+ if ( qws_terminal_id )
58+ {
59+ qDebug( "qt_init() - terminal specification is '%d'.", qws_terminal_id );
60+ struct vt_stat console_stat;
61+ int console_fd = ::open( QString().sprintf( "/dev/tty%d", qws_terminal_id ).latin1(), O_RDWR );
62+ if ( console_fd == -1)
63+ {
64+ qWarning( "qt_init() - can't open tty: %s", strerror( errno ) );
65+ exit( -1 );
66+ }
67+ if ( ioctl( console_fd, VT_GETSTATE, &console_stat ) == -1 )
68+ {
69+ qWarning( "qt_init() - can't ioctl(VT_GETSTATE): %s", strerror( errno ) );
70+ exit( -1 );
71+ }
72+ qws_terminal_old = console_stat.v_active;
73+ qDebug( "qt_init() - active vt is #%d, switching to #%d as requested...", qws_terminal_old, qws_terminal_id );
74+
75+ if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_id ) == -1 )
76+ {
77+ qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) );
78+ exit( -1 );
79+ }
80+ if ( ioctl( console_fd, VT_WAITACTIVE, qws_terminal_id ) == -1 )
81+ {
82+ qWarning( "qt_init() - can't ioctl(VT_WAITACTIVE): %s", strerror( errno ) );
83+ exit( -1 );
84+ }
85+ if ( ioctl( console_fd, KDSETMODE, KD_GRAPHICS ) == -1 )
86+ {
87+ qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_GRAPHICS): %s", strerror( errno ) );
88+ exit( -1 );
89+ }
90+ ::close( console_fd );
91+ }
92+ else
93+ {
94+ qDebug( "QWSApplication::qt_init() - current terminal specified." );
95+ }
96+ #endif
97 QWSServer::startup(flags);
98 setenv("QWS_DISPLAY", qws_display_spec, 0);
99 }
100@@ -1702,7 +1766,36 @@
101 QFontManager::cleanup();
102
103 if ( qws_single_process ) {
104 -QWSServer::closedown();
105+ qDebug( "qt_cleanup() - shutting down QWSServer..." );
106+#ifndef QT_NO_QWS_KEYBOARD
107+ if ( qwsServer )
108+ qwsServer->closeKeyboard();
109+#endif
110+ QWSServer::closedown();
111+#if defined(_OS_LINUX_)
112+ if ( qws_terminal_old > 0 )
113+ {
114+ qDebug( "qt_cleanup() - switching back to virtual terminal #%d", qws_terminal_old );
115+
116+ int console_fd = ::open( "/dev/tty0", O_RDWR );
117+ if ( console_fd == -1)
118+ {
119+ qWarning( "qt_init() - can't open tty: %s", strerror( errno ) );
120+ }
121+ else
122+ {
123+ if ( ioctl( console_fd, KDSETMODE, KD_TEXT ) == -1 )
124+ {
125+ qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_TEXT): %s", strerror( errno ) );
126+ }
127+ if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_old ) == -1 )
128+ {
129+ qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) );
130+ }
131+ ::close( console_fd );
132+ }
133+ }
134+#endif
135 }
136 if ( qt_is_gui_used ) {
137 delete qt_fbdpy;
138@@ -2584,7 +2677,7 @@
139 if ( !widget ) { // don't know this window
140 if ( !QWidget::mouseGrabber()
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 {
169 if (kbdFD >= 0)
170 {
171+
172+#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
173+ struct vt_mode vtMode;
174+ ioctl(kbdFD, VT_GETMODE, &vtMode);
175+
176+ /* Mickey says: "Better give up control of VT switching.
177+ * Hey, I really hate that OS-will-reacquire-resources on process-death
178+ * kind of thinking!
179+ */
180+ vtMode.mode = VT_AUTO;
181+ vtMode.relsig = 0;
182+ vtMode.acqsig = 0;
183+ ioctl(kbdFD, VT_SETMODE, &vtMode);
184+
185+ signal(VTSWITCHSIG, 0);
186+ qDebug( "~QWSTtyKeyboardHandler() - released VT." );
187+#endif
188+
189 #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
190 ioctl(kbdFD, KDSKBMODE, K_XLATE);
191 #endif
192--- qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch
193+++ qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp
194@@ -251,9 +251,9 @@
195
196 bool QLinuxFbScreen::initDevice()
197 {
198- // No blankin' screen, no blinkin' cursor!, no cursor!
199+ /* Setting up the VT parameters is done in qapplication_qws.cpp
200 const char termctl[]="\033[9;0]\033[?33l\033[?25l";
201- writeTerm(termctl,sizeof(termctl));
202+ writeTerm(termctl,sizeof(termctl)); */
203
204 // Grab current mode so we can reset it
205 fb_var_screeninfo vinfo;
diff --git a/qt/qt-2.3.7.patch/qte237-1-daemon.patch b/qt/qt-2.3.7.patch/qte237-1-daemon.patch
deleted file mode 100644
index 1f83398..0000000
--- a/qt/qt-2.3.7.patch/qte237-1-daemon.patch
+++ b/dev/null
@@ -1,113 +0,0 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6 --- qt-2.3.7/src/kernel/qapplication_qws.cpp~daemonize2004-07-17 22:47:54.840820000 +0200
7 +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-17 23:34:32.407525912 +0200
8@@ -103,6 +103,7 @@
9 #endif
10
11 #include <sys/time.h>
12+#include <syslog.h>
13
14 #if defined(_OS_AIX_) && defined(_CC_GNU_)
15 #include <sys/select.h>
16@@ -162,6 +163,7 @@
17 //these used to be environment variables, they are initialized from
18 //environment variables in
19
20+bool qws_daemon = TRUE;
21 bool qws_savefonts = FALSE;
22 bool qws_screen_is_interlaced=FALSE; //### should be detected
23 bool qws_shared_memory = FALSE;
24@@ -1614,6 +1616,10 @@
25 mwGeometry = argv[i];
26 } else if ( arg == "-shared" ) {
27 qws_shared_memory = TRUE;
28 +} else if ( arg == "-daemon" ) {
29 + qws_daemon = TRUE;
30 +} else if ( arg == "-nodaemon" ) {
31 + qws_daemon = FALSE;
32 } else if ( arg == "-noshared" ) {
33 qws_shared_memory = FALSE;
34 } else if ( arg == "-savefonts" ) {
35@@ -1670,6 +1676,78 @@
36 qt_appType = type;
37 qws_single_process = TRUE;
38
39+ /* Daemonize the server process -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
40+ * Added a new command line option which only is relevant if the application is created as a GuiServer.
41+ * The option is -daemon respectively -nodaemon. If in daemon mode (which is the default now), the
42+ * server will detach from the controlling terminal and continue as a daemon. This is done via the standard
43+ * UNIX double fork magic.
44+ */
45+ if ( qws_daemon )
46+ {
47+ qWarning( "qt_init() - starting in daemon mode..." );
48+
49+ int pid1 = fork();
50+ if ( pid1 == -1 )
51+ {
52+ qWarning( "qt_init() - can't perform initial fork: %s", strerror( errno ) );
53+ exit( -1 );
54+ }
55+ if ( pid1 ) _exit( 0 ); // ok, first fork performed
56+
57+ chdir( "/" );
58+ setsid();
59+ umask(0);
60+ close(0);
61+ close(1);
62+ close(2);
63+
64+ int fdnull = ::open( "/dev/null", O_RDWR );
65+ if ( fdnull == -1 )
66+ {
67+ syslog( 3, "qt_init() - can't open /dev/null to redirect std{in|out|err}: %s", strerror( errno ) );
68+ exit( -1 );
69+ }
70+ dup2( fdnull, 0 ); // stdin
71+ dup2( fdnull, 1 ); // stdout
72+ dup2( fdnull, 2 ); // stderr
73+
74+ int pid2 = fork();
75+ if ( pid2 == -1 )
76+ {
77+ syslog( 3, "qt_init() - can't perform initial fork: %s", strerror( errno ) );
78+ exit( -1 );
79+ }
80+ if ( pid2 )
81+ {
82+ syslog( 4, "qt_init() [%d] - successfully entered daemon mode", pid2 );
83+ _exit( 0 ); // ok, second fork performed
84+ }
85+ }
86+
87+ /*
88+ * , ,
89+ * /( )`
90+ * \ \___ / | B E W A R E !
91+ * /- _ `-/ ' We are a DAEMON now!
92+ * (/\/ \ \ /\
93+ * / / | ` \
94+ * O O ) / |
95+ * `-^--'`< '
96+ * (_.) _ ) /
97+ * `.___/` /
98+ * `-----' /
99+ * <----. __ / __ \
100+ * <----|====O)))==) \) /====
101+ * <----' `--' `.__,' \
102+ * | |
103+ * \ /
104+ * ______( (_ / \______
105+ * (FL) ,' ,-----' | \
106+ * `--{__________) \/
107+ *
108+ */
109+
110+
111 /* Allocate a dedicated virtual terminal -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
112 * Added a new command line option which only is relevant if the application is created as a GuiServer.
113 * The option is -terminal <num>, where <num> specifies the virtual terminal to be occupied by the server.
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-iconviewspeed.patch b/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch
deleted file mode 100644
index 81064e1..0000000
--- a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch
+++ b/dev/null
@@ -1,142 +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
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;
17 QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor;
18 QRect *rubber;
19+ QPixmap *backBuffer;
20 QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
21 *fullRedrawTimer;
22 int rastX, rastY, spacing;
23@@ -2263,6 +2264,7 @@
24 d->currentItem = 0;
25 d->highlightedItem = 0;
26 d->rubber = 0;
27+ d->backBuffer = 0;
28 d->scrollTimer = 0;
29 d->startDragItem = 0;
30 d->tmpCurrentItem = 0;
31@@ -2411,6 +2413,8 @@
32 delete item;
33 item = tmp;
34 }
35+ delete d->backBuffer;
36+ d->backBuffer = 0;
37 delete d->fm;
38 d->fm = 0;
39 #ifndef QT_NO_TOOLTIP
40@@ -2877,6 +2881,48 @@
41 }
42
43 /*!
44+ This function grabs all paintevents that otherwise would have been
45+ processed by the QScrollView::viewportPaintEvent(). Here we use a
46+ doublebuffer to reduce 'on-paint' flickering on QIconView
47+ (and of course its childs).
48+
49+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
50+*/
51+
52+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
53+{
54+ QWidget* vp = viewport();
55+ QRect r = pe->rect() & vp->rect();
56+ int ex = r.x() + contentsX();
57+ int ey = r.y() + contentsY();
58+ int ew = r.width();
59+ int eh = r.height();
60+
61+ if ( !d->backBuffer )
62 +d->backBuffer = new QPixmap(vp->size());
63+ if ( d->backBuffer->size() != vp->size() ) {
64 +//Resize function (with hysteesis). Uses a good compromise between memory
65 +//consumption and speed (number) of resizes.
66+ float newWidth = (float)vp->width();
67 +float newHeight = (float)vp->height();
68 +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
69 +{
70 + newWidth *= 1.1892;
71 + newHeight *= 1.1892;
72 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
73 +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
74 + d->backBuffer->resize( (int)newWidth, (int)newHeight );
75+ }
76+
77+ QPainter p;
78+ p.begin(d->backBuffer, vp);
79+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
80+ p.end();
81+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
82+}
83+
84+/*!
85+
86 \reimp
87 */
88
89@@ -4855,7 +4901,7 @@
90 if ( !d->rubber )
91 drawDragShapes( d->oldDragPos );
92 }
93 - viewportPaintEvent( (QPaintEvent*)e );
94+ bufferedPaintEvent ((QPaintEvent*)e );
95 if ( d->dragging ) {
96 if ( !d->rubber )
97 drawDragShapes( d->oldDragPos );
98@@ -5286,11 +5332,19 @@
99 return;
100
101 if ( item->d->container1 && d->firstContainer ) {
102 -item->d->container1->items.removeRef( item );
103+ //Special-case checking of the last item, since this may be
104+ //called a few times for the same item.
105+ if (item->d->container1->items.last() == item)
106+ item->d->container1->items.removeLast();
107+ else
108+ item->d->container1->items.removeRef( item );
109 }
110 item->d->container1 = 0;
111 if ( item->d->container2 && d->firstContainer ) {
112 -item->d->container2->items.removeRef( item );
113+ if (item->d->container2->items.last() == item)
114+ item->d->container2->items.removeLast();
115+ else
116+ item->d->container2->items.removeRef( item );
117 }
118 item->d->container2 = 0;
119
120diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h
121 --- qt-2.3.7_old/src/iconview/qiconview.h2004-06-13 22:29:56.000000000 +0200
122 +++ qt-2.3.7/src/iconview/qiconview.h2004-06-13 22:33:32.000000000 +0200
123@@ -444,6 +444,7 @@
124 virtual void contentsDropEvent( QDropEvent *e );
125 #endif
126
127+ void bufferedPaintEvent( QPaintEvent* );
128 virtual void resizeEvent( QResizeEvent* e );
129 virtual void keyPressEvent( QKeyEvent *e );
130 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.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 {