33 files changed, 833 insertions, 7319 deletions
diff --git a/qt/README.qt-patches b/qt/README.qt-patches index e079ba7..fe31bbb 100644 --- a/qt/README.qt-patches +++ b/qt/README.qt-patches | |||
@@ -1,6 +1,6 @@ | |||
1 | The Qt patches are patches generally useful for all platforms. | 1 | The Qt patches are patches generally useful for all platforms. |
2 | For specefic Device patches like Keyboard and Mousedrivers see | 2 | For specefic Device patches like Keyboard and Mousedrivers see |
3 | 3 | ||
4 | http://openembedded.bkbits.net:8080/packages/src/qte/qte-2.3.7?nav=index.html|src/.|src/qte | 4 | http://openembedded.bkbits.net:8080/packages/src/qte/qte-2.3.10?nav=index.html|src/.|src/qte |
5 | 5 | ||
6 | 6 | ||
diff --git a/qt/README.qt-version b/qt/README.qt-version new file mode 100644 index 0000000..5cc99a9 --- a/dev/null +++ b/qt/README.qt-version | |||
@@ -0,0 +1,2 @@ | |||
1 | Note: We no longer support anything else than Qt/E 2.3.10 | ||
2 | |||
diff --git a/qt/qt-2.3.7.patch/qte237-1-daemon.patch b/qt/qt-2.3.10.patch/daemonize.patch index 1f83398..487a18c 100644 --- a/qt/qt-2.3.7.patch/qte237-1-daemon.patch +++ b/qt/qt-2.3.10.patch/daemonize.patch | |||
@@ -1,113 +1,113 @@ | |||
1 | 1 | ||
2 | # | 2 | # |
3 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | 3 | # Patch managed by http://www.holgerschurig.de/patcher.html |
4 | # | 4 | # |
5 | 5 | ||
6 | --- qt-2.3.7/src/kernel/qapplication_qws.cpp~daemonize2004-07-17 22:47:54.840820000 +0200 | 6 | --- qt-2.3.9-snapshot-20041211/src/kernel/qapplication_qws.cpp~daemonize |
7 | +++ qt-2.3.7/src/kernel/qapplication_qws.cpp2004-07-17 23:34:32.407525912 +0200 | 7 | +++ qt-2.3.9-snapshot-20041211/src/kernel/qapplication_qws.cpp |
8 | @@ -103,6 +103,7 @@ | 8 | @@ -104,6 +104,7 @@ |
9 | #endif | 9 | #endif |
10 | 10 | ||
11 | #include <sys/time.h> | 11 | #include <sys/time.h> |
12 | +#include <syslog.h> | 12 | +#include <syslog.h> |
13 | 13 | ||
14 | #if defined(_OS_AIX_) && defined(_CC_GNU_) | 14 | #if defined(_OS_AIX_) && defined(_CC_GNU_) |
15 | #include <sys/select.h> | 15 | #include <sys/select.h> |
16 | @@ -162,6 +163,7 @@ | 16 | @@ -163,6 +164,7 @@ |
17 | //these used to be environment variables, they are initialized from | 17 | //these used to be environment variables, they are initialized from |
18 | //environment variables in | 18 | //environment variables in |
19 | 19 | ||
20 | +bool qws_daemon = TRUE; | 20 | +bool qws_daemon = TRUE; |
21 | bool qws_savefonts = FALSE; | 21 | bool qws_savefonts = FALSE; |
22 | bool qws_screen_is_interlaced=FALSE; //### should be detected | 22 | bool qws_screen_is_interlaced=FALSE; //### should be detected |
23 | bool qws_shared_memory = FALSE; | 23 | bool qws_shared_memory = FALSE; |
24 | @@ -1614,6 +1616,10 @@ | 24 | @@ -1686,6 +1688,10 @@ |
25 | mwGeometry = argv[i]; | 25 | mwGeometry = argv[i]; |
26 | } else if ( arg == "-shared" ) { | 26 | } else if ( arg == "-shared" ) { |
27 | qws_shared_memory = TRUE; | 27 | qws_shared_memory = TRUE; |
28 | +} else if ( arg == "-daemon" ) { | 28 | +} else if ( arg == "-daemon" ) { |
29 | + qws_daemon = TRUE; | 29 | + qws_daemon = TRUE; |
30 | +} else if ( arg == "-nodaemon" ) { | 30 | +} else if ( arg == "-nodaemon" ) { |
31 | + qws_daemon = FALSE; | 31 | + qws_daemon = FALSE; |
32 | } else if ( arg == "-noshared" ) { | 32 | } else if ( arg == "-noshared" ) { |
33 | qws_shared_memory = FALSE; | 33 | qws_shared_memory = FALSE; |
34 | } else if ( arg == "-savefonts" ) { | 34 | } else if ( arg == "-savefonts" ) { |
35 | @@ -1670,6 +1676,78 @@ | 35 | @@ -1742,6 +1748,78 @@ |
36 | qt_appType = type; | 36 | qt_appType = type; |
37 | qws_single_process = TRUE; | 37 | qws_single_process = TRUE; |
38 | 38 | ||
39 | + /* Daemonize the server process -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | 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. | 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 | 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 | 42 | + * server will detach from the controlling terminal and continue as a daemon. This is done via the standard |
43 | + * UNIX double fork magic. | 43 | + * UNIX double fork magic. |
44 | + */ | 44 | + */ |
45 | + if ( qws_daemon ) | 45 | + if ( qws_daemon ) |
46 | + { | 46 | + { |
47 | + qWarning( "qt_init() - starting in daemon mode..." ); | 47 | + qWarning( "qt_init() - starting in daemon mode..." ); |
48 | + | 48 | + |
49 | + int pid1 = fork(); | 49 | + int pid1 = fork(); |
50 | + if ( pid1 == -1 ) | 50 | + if ( pid1 == -1 ) |
51 | + { | 51 | + { |
52 | + qWarning( "qt_init() - can't perform initial fork: %s", strerror( errno ) ); | 52 | + qWarning( "qt_init() - can't perform initial fork: %s", strerror( errno ) ); |
53 | + exit( -1 ); | 53 | + exit( -1 ); |
54 | + } | 54 | + } |
55 | + if ( pid1 ) _exit( 0 ); // ok, first fork performed | 55 | + if ( pid1 ) _exit( 0 ); // ok, first fork performed |
56 | + | 56 | + |
57 | + chdir( "/" ); | 57 | + chdir( "/" ); |
58 | + setsid(); | 58 | + setsid(); |
59 | + umask(0); | 59 | + umask(0); |
60 | + close(0); | 60 | + close(0); |
61 | + close(1); | 61 | + close(1); |
62 | + close(2); | 62 | + close(2); |
63 | + | 63 | + |
64 | + int fdnull = ::open( "/dev/null", O_RDWR ); | 64 | + int fdnull = ::open( "/dev/null", O_RDWR ); |
65 | + if ( fdnull == -1 ) | 65 | + if ( fdnull == -1 ) |
66 | + { | 66 | + { |
67 | + syslog( 3, "qt_init() - can't open /dev/null to redirect std{in|out|err}: %s", strerror( errno ) ); | 67 | + syslog( 3, "qt_init() - can't open /dev/null to redirect std{in|out|err}: %s", strerror( errno ) ); |
68 | + exit( -1 ); | 68 | + exit( -1 ); |
69 | + } | 69 | + } |
70 | + dup2( fdnull, 0 ); // stdin | 70 | + dup2( fdnull, 0 ); // stdin |
71 | + dup2( fdnull, 1 ); // stdout | 71 | + dup2( fdnull, 1 ); // stdout |
72 | + dup2( fdnull, 2 ); // stderr | 72 | + dup2( fdnull, 2 ); // stderr |
73 | + | 73 | + |
74 | + int pid2 = fork(); | 74 | + int pid2 = fork(); |
75 | + if ( pid2 == -1 ) | 75 | + if ( pid2 == -1 ) |
76 | + { | 76 | + { |
77 | + syslog( 3, "qt_init() - can't perform initial fork: %s", strerror( errno ) ); | 77 | + syslog( 3, "qt_init() - can't perform initial fork: %s", strerror( errno ) ); |
78 | + exit( -1 ); | 78 | + exit( -1 ); |
79 | + } | 79 | + } |
80 | + if ( pid2 ) | 80 | + if ( pid2 ) |
81 | + { | 81 | + { |
82 | + syslog( 4, "qt_init() [%d] - successfully entered daemon mode", pid2 ); | 82 | + syslog( 4, "qt_init() [%d] - successfully entered daemon mode", pid2 ); |
83 | + _exit( 0 ); // ok, second fork performed | 83 | + _exit( 0 ); // ok, second fork performed |
84 | + } | 84 | + } |
85 | + } | 85 | + } |
86 | + | 86 | + |
87 | + /* | 87 | + /* |
88 | + * , , | 88 | + * , , |
89 | + * /( )` | 89 | + * /( )` |
90 | + * \ \___ / | B E W A R E ! | 90 | + * \ \___ / | B E W A R E ! |
91 | + * /- _ `-/ ' We are a DAEMON now! | 91 | + * /- _ `-/ ' We are a DAEMON now! |
92 | + * (/\/ \ \ /\ | 92 | + * (/\/ \ \ /\ |
93 | + * / / | ` \ | 93 | + * / / | ` \ |
94 | + * O O ) / | | 94 | + * O O ) / | |
95 | + * `-^--'`< ' | 95 | + * `-^--'`< ' |
96 | + * (_.) _ ) / | 96 | + * (_.) _ ) / |
97 | + * `.___/` / | 97 | + * `.___/` / |
98 | + * `-----' / | 98 | + * `-----' / |
99 | + * <----. __ / __ \ | 99 | + * <----. __ / __ \ |
100 | + * <----|====O)))==) \) /==== | 100 | + * <----|====O)))==) \) /==== |
101 | + * <----' `--' `.__,' \ | 101 | + * <----' `--' `.__,' \ |
102 | + * | | | 102 | + * | | |
103 | + * \ / | 103 | + * \ / |
104 | + * ______( (_ / \______ | 104 | + * ______( (_ / \______ |
105 | + * (FL) ,' ,-----' | \ | 105 | + * (FL) ,' ,-----' | \ |
106 | + * `--{__________) \/ | 106 | + * `--{__________) \/ |
107 | + * | 107 | + * |
108 | + */ | 108 | + */ |
109 | + | 109 | + |
110 | + | 110 | + |
111 | /* Allocate a dedicated virtual terminal -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | 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. | 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. | 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.10.patch/devfs.patch b/qt/qt-2.3.10.patch/devfs.patch new file mode 100644 index 0000000..27ea423 --- a/dev/null +++ b/qt/qt-2.3.10.patch/devfs.patch | |||
@@ -0,0 +1,163 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.9-snapshot-20050114/configure~devfs | ||
7 | +++ qt-2.3.9-snapshot-20050114/configure | ||
8 | @@ -412,6 +412,9 @@ | ||
9 | -visibility-hidden) | ||
10 | VISIBILITY=YES | ||
11 | ;; | ||
12 | + -devfs) | ||
13 | + DEVFS=yes | ||
14 | +;; | ||
15 | -no-g++-exceptions) | ||
16 | GPLUSPLUS_EXCEPTIONS=no | ||
17 | ;; | ||
18 | @@ -1302,6 +1305,8 @@ | ||
19 | -visibility-hidden . Use -fvisibility=hidden as default. This requires GCC 4.0 | ||
20 | or a special patched GCC to support the visibility attribute | ||
21 | |||
22 | + -devfs ............. Use devfs /dev paths. | ||
23 | + | ||
24 | -no-g++-exceptions . Disable exceptions on platforms using the GNU C++ | ||
25 | compiler by using the -fno-exceptions flag. | ||
26 | |||
27 | @@ -1374,6 +1379,10 @@ | ||
28 | then | ||
29 | QT_CXX="${QT_CXX} -DGCC_SUPPORTS_VISIBILITY -fvisibility=hidden" | ||
30 | fi | ||
31 | +if [ "x$DEVFS" = "xyes" ] | ||
32 | +then | ||
33 | + QT_CXX="${QT_CXX} -DQT_QWS_DEVFS" | ||
34 | +fi | ||
35 | if [ "x$THREAD" = "xyes" ] | ||
36 | then | ||
37 | cat >src-mt.mk <<EOF | ||
38 | --- qt-2.3.9-snapshot-20050114/src/kernel/qgfxlinuxfb_qws.cpp~devfs | ||
39 | +++ qt-2.3.9-snapshot-20050114/src/kernel/qgfxlinuxfb_qws.cpp | ||
40 | @@ -101,11 +101,19 @@ | ||
41 | bool QLinuxFbScreen::connect( const QString &displaySpec ) | ||
42 | { | ||
43 | // Check for explicitly specified device | ||
44 | +#ifdef QT_QWS_DEVFS | ||
45 | + QRegExp r( "/dev/fb/[0-9]+" ); | ||
46 | +#else | ||
47 | QRegExp r( "/dev/fb[0-9]+" ); | ||
48 | +#endif | ||
49 | int len; | ||
50 | int m = r.match( displaySpec, 0, &len ); | ||
51 | |||
52 | +#ifdef QT_QWS_DEVFS | ||
53 | + QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb/0"); | ||
54 | +#else | ||
55 | QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb0"); | ||
56 | +#endif | ||
57 | |||
58 | fd=open( dev.latin1(), O_RDWR ); | ||
59 | if (fd<0) { | ||
60 | @@ -121,14 +129,22 @@ | ||
61 | |||
62 | /* Get fixed screen information */ | ||
63 | if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) { | ||
64 | +#ifdef QT_QWS_DEVFS | ||
65 | +perror("reading /dev/fb/0"); | ||
66 | +#else | ||
67 | perror("reading /dev/fb0"); | ||
68 | +#endif | ||
69 | qWarning("Error reading fixed information"); | ||
70 | return FALSE; | ||
71 | } | ||
72 | |||
73 | /* Get variable screen information */ | ||
74 | if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)) { | ||
75 | +#ifdef QT_QWS_DEVFS | ||
76 | +perror("reading /dev/fb/0"); | ||
77 | +#else | ||
78 | perror("reading /dev/fb0"); | ||
79 | +#endif | ||
80 | qWarning("Error reading variable information"); | ||
81 | return FALSE; | ||
82 | } | ||
83 | @@ -165,7 +181,11 @@ | ||
84 | data += dataoffset; | ||
85 | |||
86 | if ((int)data == -1) { | ||
87 | -perror("mapping /dev/fb0"); | ||
88 | +#ifdef QT_QWS_DEVFS | ||
89 | +perror("reading /dev/fb/0"); | ||
90 | +#else | ||
91 | +perror("reading /dev/fb0"); | ||
92 | +#endif | ||
93 | qWarning("Error: failed to map framebuffer device to memory."); | ||
94 | return FALSE; | ||
95 | } | ||
96 | @@ -229,7 +249,11 @@ | ||
97 | |||
98 | static void writeTerm(const char* termctl, int sizeof_termctl) | ||
99 | { | ||
100 | +#ifdef QT_QWS_DEVFS | ||
101 | + const char* tt[]={"/dev/vc/1","/dev/console","/dev/tty",0}; | ||
102 | +#else | ||
103 | const char* tt[]={"/dev/console","/dev/tty","/dev/tty0",0}; | ||
104 | +#endif | ||
105 | const char** dev=tt; | ||
106 | while (*dev) { | ||
107 | int tty=::open(*dev,O_WRONLY); | ||
108 | @@ -792,7 +816,11 @@ | ||
109 | fb_var_screeninfo vinfo; | ||
110 | |||
111 | if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) { | ||
112 | +#ifdef QT_QWS_DEVFS | ||
113 | +perror("reading /dev/fb/0"); | ||
114 | +#else | ||
115 | perror("reading /dev/fb0"); | ||
116 | +#endif | ||
117 | qFatal("Error reading fixed information"); | ||
118 | } | ||
119 | |||
120 | --- qt-2.3.9-snapshot-20050114/src/kernel/qkeyboard_qws.cpp~devfs | ||
121 | +++ qt-2.3.9-snapshot-20050114/src/kernel/qkeyboard_qws.cpp | ||
122 | @@ -1192,7 +1192,11 @@ | ||
123 | |||
124 | QWSTtyKeyboardHandler::QWSTtyKeyboardHandler(const QString& device) | ||
125 | { | ||
126 | +#ifdef QT_QWS_DEVFS | ||
127 | + kbdFD=open(device.isEmpty() ? "/dev/vc/1" : device.latin1(), O_RDWR | O_NDELAY, 0); | ||
128 | +#else | ||
129 | kbdFD=open(device.isEmpty() ? "/dev/tty0" : device.latin1(), O_RDWR | O_NDELAY, 0); | ||
130 | +#endif | ||
131 | |||
132 | if ( kbdFD >= 0 ) { | ||
133 | QSocketNotifier *notifier; | ||
134 | --- qt-2.3.9-snapshot-20050114/src/kernel/qwindowsystem_qws.cpp~devfs | ||
135 | +++ qt-2.3.9-snapshot-20050114/src/kernel/qwindowsystem_qws.cpp | ||
136 | @@ -836,7 +836,11 @@ | ||
137 | void openDevice() | ||
138 | { | ||
139 | if ( !sn ) { | ||
140 | +#ifdef QT_QWS_DEVFS | ||
141 | + int fd = ::open("/dev/sound/dsp",O_RDWR); | ||
142 | +#else | ||
143 | int fd = ::open("/dev/dsp",O_RDWR); | ||
144 | +#endif | ||
145 | if ( fd < 0 ) { | ||
146 | // For debugging purposes - defined QT_NO_SOUND if you | ||
147 | // don't have sound hardware! | ||
148 | --- qt-2.3.9-snapshot-20050114/src/kernel/qsoundqss_qws.cpp~devfs | ||
149 | +++ qt-2.3.9-snapshot-20050114/src/kernel/qsoundqss_qws.cpp | ||
150 | @@ -1088,7 +1088,12 @@ | ||
151 | // Don't block open right away. | ||
152 | // | ||
153 | bool openOkay = false; | ||
154 | - if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) { | ||
155 | +#ifdef QT_QWS_DEVFS | ||
156 | + if ((fd = ::open("/dev/sound/dsp", O_WRONLY|O_NONBLOCK)) != -1) | ||
157 | +#else | ||
158 | + if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) | ||
159 | +#endif | ||
160 | + { | ||
161 | int flags = fcntl(fd, F_GETFL); | ||
162 | flags &= ~O_NONBLOCK; | ||
163 | openOkay = (fcntl(fd, F_SETFL, flags) == 0); | ||
diff --git a/qt/qt-2.3.10.patch/encoding.patch b/qt/qt-2.3.10.patch/encoding.patch new file mode 100644 index 0000000..13a4828 --- a/dev/null +++ b/qt/qt-2.3.10.patch/encoding.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.9-snapshot-20041211/src/tools/qstring.cpp~encoding | ||
7 | +++ qt-2.3.9-snapshot-20041211/src/tools/qstring.cpp | ||
8 | @@ -14469,7 +14469,11 @@ | ||
9 | return qt_winQString2MB( *this ); | ||
10 | #endif | ||
11 | #ifdef _WS_QWS_ | ||
12 | - return utf8(); // ##### if there is ANY 8 bit format supported? | ||
13 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
14 | + return codec | ||
15 | + ? codec->fromUnicode(*this) | ||
16 | + : utf8(); | ||
17 | + //return latin1(); // ##### if there is ANY 8 bit format supported? | ||
18 | #endif | ||
19 | #endif | ||
20 | } | ||
21 | @@ -14515,7 +14519,12 @@ | ||
22 | return qt_winMB2QString( local8Bit ); | ||
23 | #endif | ||
24 | #ifdef _WS_QWS_ | ||
25 | - return fromUtf8(local8Bit,len); | ||
26 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
27 | + if( len < 0) len = qstrlen(local8Bit); | ||
28 | + return codec | ||
29 | + ? codec->toUnicode(local8Bit, len) | ||
30 | + : QString::fromUtf8(local8Bit,len); | ||
31 | +// return fromLatin1(local8Bit,len); | ||
32 | #endif | ||
33 | #endif // QT_NO_TEXTCODEC | ||
34 | } | ||
diff --git a/qt/qt-2.3.10.patch/fix-qgfxraster.patch b/qt/qt-2.3.10.patch/fix-qgfxraster.patch new file mode 100644 index 0000000..7bc1e2a --- a/dev/null +++ b/qt/qt-2.3.10.patch/fix-qgfxraster.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.9-snapshot-20041211/src/kernel/qgfxraster_qws.cpp~fix-qgfxraster | ||
7 | +++ qt-2.3.9-snapshot-20041211/src/kernel/qgfxraster_qws.cpp | ||
8 | @@ -4037,13 +4037,14 @@ | ||
9 | for( loopc2=0;loopc2<frontadd;loopc2++ ) | ||
10 | *(alphaptr++)=get_value_32(16,(unsigned char **)&temppos); | ||
11 | |||
12 | -PackType temp2; | ||
13 | -unsigned char * cp; | ||
14 | +volatile PackType temp2; | ||
15 | +volatile unsigned short int * cp; | ||
16 | for( loopc2=0;loopc2<count;loopc2++ ) { | ||
17 | - temp2=*((PackType *)temppos); | ||
18 | - cp=(unsigned char *)&temp2; | ||
19 | - *(alphaptr++)=get_value_32(16,&cp); | ||
20 | - *(alphaptr++)=get_value_32(16,&cp); | ||
21 | + temp2=*reinterpret_cast<PackType *>(temppos); | ||
22 | + cp=reinterpret_cast<volatile unsigned short int *>(&temp2); | ||
23 | + *(alphaptr++)=qt_conv16ToRgb(*cp); | ||
24 | + cp++; | ||
25 | + *(alphaptr++)=qt_conv16ToRgb(*cp); | ||
26 | temppos += 2; | ||
27 | } | ||
28 | |||
diff --git a/qt/qt-2.3.10.patch/gcc3.patch b/qt/qt-2.3.10.patch/gcc3.patch new file mode 100644 index 0000000..fc1656a --- a/dev/null +++ b/qt/qt-2.3.10.patch/gcc3.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.9-snapshot-20041211/src/tools/qcstring.h~gcc3 | ||
7 | +++ qt-2.3.9-snapshot-20041211/src/tools/qcstring.h | ||
8 | @@ -119,7 +119,7 @@ | ||
9 | // We want to keep source compatibility for 2.x | ||
10 | // ### TODO for 4.0: completely remove these and the cstr* functions | ||
11 | |||
12 | -#if !defined(QT_GENUINE_STR) | ||
13 | +#if 0 | ||
14 | |||
15 | #undefstrlen | ||
16 | #define strlen qstrlen | ||
17 | --- qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h~gcc3 | ||
18 | +++ qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h | ||
19 | @@ -50,7 +50,7 @@ | ||
20 | enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6, | ||
21 | TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10, | ||
22 | Close=11, Minimize=12, Maximize=13, Normalize=14, | ||
23 | - Menu=15, LastRegion=Menu }; | ||
24 | + Menu=15, LastRegion=Menu, UserDefined = 100 }; | ||
25 | |||
26 | virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0; | ||
27 | virtual void close( QWidget * ); | ||
diff --git a/qt/qt-2.3.10.patch/handhelds.patch b/qt/qt-2.3.10.patch/handhelds.patch new file mode 100644 index 0000000..3335796 --- a/dev/null +++ b/qt/qt-2.3.10.patch/handhelds.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.10-snapshot-20050131/src/widgets/qcommonstyle.cpp~opie | ||
7 | +++ qt-2.3.10-snapshot-20050131/src/widgets/qcommonstyle.cpp | ||
8 | @@ -572,7 +572,7 @@ | ||
9 | bool enabled, bool active ) | ||
10 | { | ||
11 | #ifndef QT_NO_MENUBAR | ||
12 | -#ifndef QT_NO_STYLE_SGI | ||
13 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
14 | if (draw_menu_bar_impl != 0) { | ||
15 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
16 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
17 | --- qt-2.3.10-snapshot-20050131/src/widgets/qlistview.cpp~opie | ||
18 | +++ qt-2.3.10-snapshot-20050131/src/widgets/qlistview.cpp | ||
19 | @@ -5051,9 +5051,9 @@ | ||
20 | l = l->childItem ? l->childItem : l->siblingItem; | ||
21 | |||
22 | if ( l && l->height() ) | ||
23 | -s.setHeight( s.height() + 10 * l->height() ); | ||
24 | - else | ||
25 | -s.setHeight( s.height() + 140 ); | ||
26 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
27 | + else // ^v much too big for handhelds | ||
28 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
29 | |||
30 | if ( s.width() > s.height() * 3 ) | ||
31 | s.setHeight( s.width() / 3 ); | ||
32 | --- qt-2.3.10-snapshot-20050131/src/kernel/qwindowsystem_qws.cpp~opie | ||
33 | +++ qt-2.3.10-snapshot-20050131/src/kernel/qwindowsystem_qws.cpp | ||
34 | @@ -918,6 +918,18 @@ | ||
35 | { | ||
36 | } | ||
37 | |||
38 | +static void catchSegvSignal( int ) | ||
39 | +{ | ||
40 | +#ifndef QT_NO_QWS_KEYBOARD | ||
41 | + if ( qwsServer ) | ||
42 | +qwsServer->closeKeyboard(); | ||
43 | +#endif | ||
44 | + QWSServer::closedown(); | ||
45 | + fprintf(stderr, "Segmentation fault.\n"); | ||
46 | + exit(1); | ||
47 | +} | ||
48 | + | ||
49 | + | ||
50 | /*! | ||
51 | \class QWSServer qwindowsystem_qws.h | ||
52 | \brief Server-specific functionality in Qt/Embedded | ||
53 | @@ -1043,6 +1055,7 @@ | ||
54 | } | ||
55 | |||
56 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
57 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
58 | #endif | ||
59 | focusw = 0; | ||
60 | mouseGrabber = 0; | ||
61 | --- qt-2.3.10-snapshot-20050131/src/widgets/qtoolbutton.cpp~opie | ||
62 | +++ qt-2.3.10-snapshot-20050131/src/widgets/qtoolbutton.cpp | ||
63 | @@ -332,12 +332,12 @@ | ||
64 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
65 | w = pm.width(); | ||
66 | h = pm.height(); | ||
67 | -if ( w < 32 ) | ||
68 | - w = 32; | ||
69 | -if ( h < 32 ) | ||
70 | - h = 32; | ||
71 | +if ( w < 24 ) | ||
72 | + w = 24; | ||
73 | +if ( h < 24 ) | ||
74 | + h = 24; | ||
75 | } else { | ||
76 | -w = h = 16; | ||
77 | +w = h = 14; | ||
78 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
79 | w = pm.width(); | ||
80 | h = pm.height(); | ||
diff --git a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch b/qt/qt-2.3.10.patch/qiconview-speed.patch index 81064e1..bac9b97 100644 --- a/qt/qt-2.3.7.patch/qte237-iconviewspeed.patch +++ b/qt/qt-2.3.10.patch/qiconview-speed.patch | |||
@@ -1,142 +1,122 @@ | |||
1 | Speed up patches backported from | ||
2 | 1 | ||
3 | http://robotics.dei.unipd.it/~koral/KDE/kflicker.html | 2 | # |
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
4 | 5 | ||
5 | and | 6 | --- qt-2.3.10-snapshot-20050131/src/iconview/qiconview.cpp~qiconview-speed |
6 | 7 | +++ qt-2.3.10-snapshot-20050131/src/iconview/qiconview.cpp | |
7 | http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) | 8 | @@ -225,6 +225,7 @@ |
8 | |||
9 | |||
10 | |||
11 | |||
12 | diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp | ||
13 | --- qt-2.3.7_old/src/iconview/qiconview.cpp2004-06-13 22:29:56.000000000 +0200 | ||
14 | +++ qt-2.3.7/src/iconview/qiconview.cpp2004-06-13 22:33:32.000000000 +0200 | ||
15 | @@ -220,6 +220,7 @@ | ||
16 | QIconView::SelectionMode selectionMode; | 9 | QIconView::SelectionMode selectionMode; |
17 | QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; | 10 | QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; |
18 | QRect *rubber; | 11 | QRect *rubber; |
19 | + QPixmap *backBuffer; | 12 | + QPixmap *backBuffer; |
20 | QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, | 13 | QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, |
21 | *fullRedrawTimer; | 14 | *fullRedrawTimer; |
22 | int rastX, rastY, spacing; | 15 | int rastX, rastY, spacing; |
23 | @@ -2263,6 +2264,7 @@ | 16 | @@ -2268,6 +2269,7 @@ |
24 | d->currentItem = 0; | 17 | d->currentItem = 0; |
25 | d->highlightedItem = 0; | 18 | d->highlightedItem = 0; |
26 | d->rubber = 0; | 19 | d->rubber = 0; |
27 | + d->backBuffer = 0; | 20 | + d->backBuffer = 0; |
28 | d->scrollTimer = 0; | 21 | d->scrollTimer = 0; |
29 | d->startDragItem = 0; | 22 | d->startDragItem = 0; |
30 | d->tmpCurrentItem = 0; | 23 | d->tmpCurrentItem = 0; |
31 | @@ -2411,6 +2413,8 @@ | 24 | @@ -2416,6 +2418,8 @@ |
32 | delete item; | 25 | delete item; |
33 | item = tmp; | 26 | item = tmp; |
34 | } | 27 | } |
35 | + delete d->backBuffer; | 28 | + delete d->backBuffer; |
36 | + d->backBuffer = 0; | 29 | + d->backBuffer = 0; |
37 | delete d->fm; | 30 | delete d->fm; |
38 | d->fm = 0; | 31 | d->fm = 0; |
39 | #ifndef QT_NO_TOOLTIP | 32 | #ifndef QT_NO_TOOLTIP |
40 | @@ -2877,6 +2881,48 @@ | 33 | @@ -2882,6 +2886,48 @@ |
41 | } | 34 | } |
42 | 35 | ||
43 | /*! | 36 | /*! |
44 | + This function grabs all paintevents that otherwise would have been | 37 | + This function grabs all paintevents that otherwise would have been |
45 | + processed by the QScrollView::viewportPaintEvent(). Here we use a | 38 | + processed by the QScrollView::viewportPaintEvent(). Here we use a |
46 | + doublebuffer to reduce 'on-paint' flickering on QIconView | 39 | + doublebuffer to reduce 'on-paint' flickering on QIconView |
47 | + (and of course its childs). | 40 | + (and of course its childs). |
48 | + | 41 | + |
49 | + \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() | 42 | + \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() |
50 | +*/ | 43 | +*/ |
51 | + | 44 | + |
52 | +void QIconView::bufferedPaintEvent( QPaintEvent* pe ) | 45 | +void QIconView::bufferedPaintEvent( QPaintEvent* pe ) |
53 | +{ | 46 | +{ |
54 | + QWidget* vp = viewport(); | 47 | + QWidget* vp = viewport(); |
55 | + QRect r = pe->rect() & vp->rect(); | 48 | + QRect r = pe->rect() & vp->rect(); |
56 | + int ex = r.x() + contentsX(); | 49 | + int ex = r.x() + contentsX(); |
57 | + int ey = r.y() + contentsY(); | 50 | + int ey = r.y() + contentsY(); |
58 | + int ew = r.width(); | 51 | + int ew = r.width(); |
59 | + int eh = r.height(); | 52 | + int eh = r.height(); |
60 | + | 53 | + |
61 | + if ( !d->backBuffer ) | 54 | + if ( !d->backBuffer ) |
62 | +d->backBuffer = new QPixmap(vp->size()); | 55 | +d->backBuffer = new QPixmap(vp->size()); |
63 | + if ( d->backBuffer->size() != vp->size() ) { | 56 | + if ( d->backBuffer->size() != vp->size() ) { |
64 | +//Resize function (with hysteesis). Uses a good compromise between memory | 57 | +//Resize function (with hysteesis). Uses a good compromise between memory |
65 | +//consumption and speed (number) of resizes. | 58 | +//consumption and speed (number) of resizes. |
66 | + float newWidth = (float)vp->width(); | 59 | + float newWidth = (float)vp->width(); |
67 | +float newHeight = (float)vp->height(); | 60 | +float newHeight = (float)vp->height(); |
68 | +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) | 61 | +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) |
69 | +{ | 62 | +{ |
70 | + newWidth *= 1.1892; | 63 | + newWidth *= 1.1892; |
71 | + newHeight *= 1.1892; | 64 | + newHeight *= 1.1892; |
72 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | 65 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); |
73 | +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) | 66 | +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) |
74 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | 67 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); |
75 | + } | 68 | + } |
76 | + | 69 | + |
77 | + QPainter p; | 70 | + QPainter p; |
78 | + p.begin(d->backBuffer, vp); | 71 | + p.begin(d->backBuffer, vp); |
79 | + drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); | 72 | + drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); |
80 | + p.end(); | 73 | + p.end(); |
81 | + bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); | 74 | + bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); |
82 | +} | 75 | +} |
83 | + | 76 | + |
84 | +/*! | 77 | +/*! |
85 | + | 78 | + |
86 | \reimp | 79 | \reimp |
87 | */ | 80 | */ |
88 | 81 | ||
89 | @@ -4855,7 +4901,7 @@ | 82 | @@ -4939,7 +4985,7 @@ |
90 | if ( !d->rubber ) | 83 | if ( !d->rubber ) |
91 | drawDragShapes( d->oldDragPos ); | 84 | drawDragShapes( d->oldDragPos ); |
92 | } | 85 | } |
93 | - viewportPaintEvent( (QPaintEvent*)e ); | 86 | - viewportPaintEvent( (QPaintEvent*)e ); |
94 | + bufferedPaintEvent ((QPaintEvent*)e ); | 87 | + bufferedPaintEvent ((QPaintEvent*)e ); |
95 | if ( d->dragging ) { | 88 | if ( d->dragging ) { |
96 | if ( !d->rubber ) | 89 | if ( !d->rubber ) |
97 | drawDragShapes( d->oldDragPos ); | 90 | drawDragShapes( d->oldDragPos ); |
98 | @@ -5286,11 +5332,19 @@ | 91 | @@ -5377,11 +5423,19 @@ |
99 | return; | 92 | return; |
100 | 93 | ||
101 | if ( item->d->container1 && d->firstContainer ) { | 94 | if ( item->d->container1 && d->firstContainer ) { |
102 | -item->d->container1->items.removeRef( item ); | 95 | -item->d->container1->items.removeRef( item ); |
103 | + //Special-case checking of the last item, since this may be | 96 | + //Special-case checking of the last item, since this may be |
104 | + //called a few times for the same item. | 97 | + //called a few times for the same item. |
105 | + if (item->d->container1->items.last() == item) | 98 | + if (item->d->container1->items.last() == item) |
106 | + item->d->container1->items.removeLast(); | 99 | + item->d->container1->items.removeLast(); |
107 | + else | 100 | + else |
108 | + item->d->container1->items.removeRef( item ); | 101 | + item->d->container1->items.removeRef( item ); |
109 | } | 102 | } |
110 | item->d->container1 = 0; | 103 | item->d->container1 = 0; |
111 | if ( item->d->container2 && d->firstContainer ) { | 104 | if ( item->d->container2 && d->firstContainer ) { |
112 | -item->d->container2->items.removeRef( item ); | 105 | -item->d->container2->items.removeRef( item ); |
113 | + if (item->d->container2->items.last() == item) | 106 | + if (item->d->container2->items.last() == item) |
114 | + item->d->container2->items.removeLast(); | 107 | + item->d->container2->items.removeLast(); |
115 | + else | 108 | + else |
116 | + item->d->container2->items.removeRef( item ); | 109 | + item->d->container2->items.removeRef( item ); |
117 | } | 110 | } |
118 | item->d->container2 = 0; | 111 | item->d->container2 = 0; |
119 | 112 | ||
120 | diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h | 113 | --- qt-2.3.10-snapshot-20050131/src/iconview/qiconview.h~qiconview-speed |
121 | --- qt-2.3.7_old/src/iconview/qiconview.h2004-06-13 22:29:56.000000000 +0200 | 114 | +++ qt-2.3.10-snapshot-20050131/src/iconview/qiconview.h |
122 | +++ qt-2.3.7/src/iconview/qiconview.h2004-06-13 22:33:32.000000000 +0200 | ||
123 | @@ -444,6 +444,7 @@ | 115 | @@ -444,6 +444,7 @@ |
124 | virtual void contentsDropEvent( QDropEvent *e ); | 116 | virtual void contentsDropEvent( QDropEvent *e ); |
125 | #endif | 117 | #endif |
126 | 118 | ||
127 | + void bufferedPaintEvent( QPaintEvent* ); | 119 | + void bufferedPaintEvent( QPaintEvent* ); |
128 | virtual void resizeEvent( QResizeEvent* e ); | 120 | virtual void resizeEvent( QResizeEvent* e ); |
129 | virtual void keyPressEvent( QKeyEvent *e ); | 121 | virtual void keyPressEvent( QKeyEvent *e ); |
130 | virtual void focusInEvent( QFocusEvent *e ); | 122 | virtual void focusInEvent( QFocusEvent *e ); |
131 | --- qt-2.3.7-old/src/widgets/qscrollview.cpp2004-07-23 15:22:56.000000000 +0200 | ||
132 | +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-07-23 19:23:10.000000000 +0200 | ||
133 | @@ -1266,6 +1277,9 @@ | ||
134 | case QEvent::LayoutHint: | ||
135 | d->autoResizeHint(this); | ||
136 | break; | ||
137 | +case QEvent::WindowActivate: | ||
138 | +case QEvent::WindowDeactivate: | ||
139 | + return TRUE; | ||
140 | default: | ||
141 | break; | ||
142 | } | ||
diff --git a/qt/qt-2.3.10.patch/simpad.patch b/qt/qt-2.3.10.patch/simpad.patch new file mode 100644 index 0000000..1777a94 --- a/dev/null +++ b/qt/qt-2.3.10.patch/simpad.patch | |||
@@ -0,0 +1,413 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp~simpad | ||
7 | +++ qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp | ||
8 | @@ -37,6 +37,7 @@ | ||
9 | #include <qapplication.h> | ||
10 | #include <qsocketnotifier.h> | ||
11 | #include <qnamespace.h> | ||
12 | +#include <qdatetime.h> | ||
13 | #include <qtimer.h> | ||
14 | |||
15 | #include <stdlib.h> | ||
16 | @@ -80,6 +81,60 @@ | ||
17 | #include <sys/vt.h> | ||
18 | #endif | ||
19 | |||
20 | +/* | ||
21 | + * SIMpad switches handler | ||
22 | + * (C) 2003-2005 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | ||
23 | + */ | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | +#include <linux/switches.h> | ||
28 | +#define SIMPAD_SWITCHES_DEVICE "/dev/misc/switches" | ||
29 | + | ||
30 | +// switches from left top to right down over the SIMpad surface | ||
31 | + | ||
32 | +#define SIMPAD_SWITCH_POWER 0x02 | ||
33 | +#define SIMPAD_SWITCH_UPPER 0x10 | ||
34 | +#define SIMPAD_SWITCH_UP 0x20 | ||
35 | +#define SIMPAD_SWITCH_DOWN 0x40 | ||
36 | +#define SIMPAD_SWITCH_LEFT 0x80 | ||
37 | +#define SIMPAD_SWITCH_RIGHT 0x100 | ||
38 | +#define SIMPAD_SWITCH_LOWER 0x8 | ||
39 | + | ||
40 | +class QWSsimpadButtonsHandler : public QWSKeyboardHandler | ||
41 | +{ | ||
42 | + Q_OBJECT | ||
43 | + | ||
44 | + public: | ||
45 | + QWSsimpadButtonsHandler(); | ||
46 | + virtual ~QWSsimpadButtonsHandler(); | ||
47 | + | ||
48 | + bool isOpen() { return fd > 0; } | ||
49 | + | ||
50 | + private slots: | ||
51 | + void readSwitchesData(); | ||
52 | + void autoRepeat(); | ||
53 | + | ||
54 | + private: | ||
55 | + switches_mask_t switches; | ||
56 | + | ||
57 | + int fd; | ||
58 | + int repeatdelay; | ||
59 | + int repeatperiod; | ||
60 | + | ||
61 | + int lastCode; // last native code | ||
62 | + int lastPress; // last press/release state | ||
63 | + | ||
64 | + int k; // last emitted Qt key code | ||
65 | + int shiftKeyPressed; // true if one of the SHIFT keys has been pressed and not yet released | ||
66 | + bool shiftUsed; // true if SHIFT has been used | ||
67 | + | ||
68 | + QTime eventTimer; // tracks time between raw events | ||
69 | + QTimer* repeater; | ||
70 | + QSocketNotifier *notifier; | ||
71 | +}; | ||
72 | + | ||
73 | + | ||
74 | #ifdef QT_QWS_SL5XXX | ||
75 | #include <asm/sharp_char.h> | ||
76 | #endif | ||
77 | @@ -165,9 +220,9 @@ | ||
78 | current = 0; | ||
79 | } | ||
80 | |||
81 | - void setAutoRepeat(int d, int p) { if ( d > 0 ) repeatdelay=d; | ||
82 | + void setAutoRepeat(int d, int p) { if ( d > 0 ) repeatdelay=d; | ||
83 | if ( p > 0 ) repeatperiod=p;} | ||
84 | - void getAutoRepeat(int *d ,int *p ) { if (d) *d=repeatdelay; | ||
85 | + void getAutoRepeat(int *d ,int *p ) { if (d) *d=repeatdelay; | ||
86 | if (p) *p=repeatperiod; } | ||
87 | |||
88 | void stop() | ||
89 | @@ -551,9 +606,9 @@ | ||
90 | |||
91 | void doKey(uchar scancode); | ||
92 | |||
93 | - | ||
94 | + | ||
95 | void restoreLeds(); | ||
96 | - | ||
97 | + | ||
98 | private: | ||
99 | bool shift; | ||
100 | bool alt; | ||
101 | @@ -809,7 +864,7 @@ | ||
102 | |||
103 | #if !defined(QT_QWS_SL5XXX) | ||
104 | if (code == 224 | ||
105 | -#if defined(QT_QWS_IPAQ) | ||
106 | +#if defined(QT_QWS_IPAQ) | ||
107 | && !ipaq_return_pressed | ||
108 | #endif | ||
109 | ) { | ||
110 | @@ -1775,9 +1830,11 @@ | ||
111 | } else { | ||
112 | type = spec; | ||
113 | } | ||
114 | - | ||
115 | if ( type == "Buttons" ) { | ||
116 | -#if defined(QT_QWS_YOPY) | ||
117 | +#if defined(QT_QWS_SIMPAD) | ||
118 | +qDebug( "QWSKeyboardHandler: using SIMpad switches handler..." ); | ||
119 | +handler = new QWSsimpadButtonsHandler(); | ||
120 | +#elif defined(QT_QWS_YOPY) | ||
121 | handler = new QWSyopyButtonsHandler(); | ||
122 | #elif defined(QT_QWS_CASSIOPEIA) | ||
123 | handler = new QWSVr41xxButtonsHandler(); | ||
124 | @@ -1812,6 +1869,218 @@ | ||
125 | return keyM; | ||
126 | } | ||
127 | |||
128 | -#endif // QT_NO_QWS_KEYBOARD | ||
129 | |||
130 | +/* | ||
131 | + * SIMpad switches handler | ||
132 | + * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | ||
133 | + */ | ||
134 | + | ||
135 | + | ||
136 | +QWSsimpadButtonsHandler::QWSsimpadButtonsHandler() | ||
137 | + :QWSKeyboardHandler(), fd( -1 ), | ||
138 | + repeatdelay( 700 ), repeatperiod( 80 ), | ||
139 | + lastCode( 0 ), lastPress( 0 ), | ||
140 | + k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false ) | ||
141 | +{ | ||
142 | + qDebug( "SimpadButtonsHandler() - V4.1" ); | ||
143 | + fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 ); | ||
144 | + if ( fd < 0 ) | ||
145 | + { | ||
146 | + qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE ); | ||
147 | + return; | ||
148 | + } | ||
149 | + | ||
150 | + notifier = new QSocketNotifier( fd, QSocketNotifier::Read, this ); | ||
151 | + connect( notifier, SIGNAL( activated(int) ),this, SLOT( readSwitchesData() ) ); | ||
152 | + | ||
153 | + repeater = new QTimer(this); | ||
154 | + connect(repeater, SIGNAL(timeout()), this, SLOT(autoRepeat())); | ||
155 | + | ||
156 | +} | ||
157 | |||
158 | + | ||
159 | +QWSsimpadButtonsHandler::~QWSsimpadButtonsHandler() | ||
160 | +{ | ||
161 | + qDebug( "~SimpadButtonsHandler()" ); | ||
162 | + if ( fd > 0 ) | ||
163 | + { | ||
164 | + ::close( fd ); | ||
165 | + fd = -1; | ||
166 | + } | ||
167 | +} | ||
168 | + | ||
169 | + | ||
170 | +void QWSsimpadButtonsHandler::readSwitchesData() | ||
171 | +{ | ||
172 | + qDebug( "SimpadButtonsHandler() - detected switches action" ); | ||
173 | + | ||
174 | + if ( ::read( fd, &switches, sizeof switches ) < 0 ) | ||
175 | + { | ||
176 | + qWarning( "SimpadButtonsHandler() - switches read error!" ); | ||
177 | + return; | ||
178 | + } | ||
179 | + | ||
180 | + qDebug( "SimpadButtonsHandler() - Shift: %0x [used: %0x] + Event = %0x | %0x", | ||
181 | + shiftKeyPressed, shiftUsed, switches.events[0], switches.states[0] ); | ||
182 | + | ||
183 | + bool press = switches.states[0]; // == switches.event[0]; | ||
184 | + int code = switches.events[0]; | ||
185 | + | ||
186 | + //========================================================================= | ||
187 | + | ||
188 | + /** | ||
189 | + * Work around a bug in the kernel keyboard driver emitting | ||
190 | + * bogus events when pressing multiple switches at once | ||
191 | + **/ | ||
192 | + | ||
193 | + if ( lastCode == 0 ) | ||
194 | + { | ||
195 | + // first press ever | ||
196 | + eventTimer.start(); | ||
197 | + lastPress = press; | ||
198 | + lastCode = code; | ||
199 | + } | ||
200 | + else | ||
201 | + { | ||
202 | + int interval = eventTimer.restart(); | ||
203 | + qDebug( "event interval = %d", interval ); | ||
204 | + if ( code == lastCode && interval < 10 ) | ||
205 | + { | ||
206 | + qDebug( "event interval too small - ignoring bogus event" ); | ||
207 | + qDebug( "did I say i hate buggy kernel drivers? :-D" ); | ||
208 | + return; | ||
209 | + } | ||
210 | + | ||
211 | + lastPress = press; | ||
212 | + lastCode = code; | ||
213 | + } | ||
214 | + | ||
215 | + /** | ||
216 | + * Actually it may also be a hardware problem, but I really don't like | ||
217 | + * to review kernel code for further inquiry. So just being lazy and | ||
218 | + * do the workaround in user space :-D | ||
219 | + **/ | ||
220 | + | ||
221 | + //===================================================================== | ||
222 | + | ||
223 | + if ( shiftKeyPressed ) | ||
224 | + { | ||
225 | + // a shift key obviously is being held | ||
226 | + qDebug( "while shift key is being held..." ); | ||
227 | + | ||
228 | + if ( code != shiftKeyPressed ) | ||
229 | + { | ||
230 | + // another key is being touched - that means shift mode for us! | ||
231 | + qDebug( " another key is being touched -> shift use now = true" ); | ||
232 | + | ||
233 | + shiftUsed = true; | ||
234 | + | ||
235 | + if ( shiftKeyPressed == SIMPAD_SWITCH_LOWER ) // SHIFT 1 | ||
236 | + { | ||
237 | + qDebug( " shift mode 1" ); | ||
238 | + switch(code) | ||
239 | + { | ||
240 | + case SIMPAD_SWITCH_UP: k = Qt::Key_F9; break; // Shift1-Up = Calendar | ||
241 | + case SIMPAD_SWITCH_DOWN: k = Qt::Key_F10; break; // Shift1-Down = Contacts | ||
242 | + case SIMPAD_SWITCH_LEFT: k = Qt::Key_F13; break; // Shift1-Left = Mail | ||
243 | + case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F11; break; // Shift1-Up = Menu | ||
244 | + case SIMPAD_SWITCH_UPPER: k = Qt::Key_F12; break; // Shift1-Upper = Home | ||
245 | + default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 1 !" ); break; | ||
246 | + } | ||
247 | + } | ||
248 | + else if ( shiftKeyPressed == SIMPAD_SWITCH_UPPER ) // SHIFT 2 | ||
249 | + { | ||
250 | + qDebug( " shift mode 2" ); | ||
251 | + switch(code) | ||
252 | + { | ||
253 | + case SIMPAD_SWITCH_UP: k = Qt::Key_F5; break; // Shift2-Up = F5 | ||
254 | + case SIMPAD_SWITCH_DOWN: k = Qt::Key_F6; break; // Shift2-Down = F6 | ||
255 | + case SIMPAD_SWITCH_LEFT: k = Qt::Key_F7; break; // Shift2-Left = F7 | ||
256 | + case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F8; break; // Shift2-Up = F8 | ||
257 | + case SIMPAD_SWITCH_LOWER: k = Qt::Key_F9; break; // Shift2-Lower = F9 | ||
258 | + default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 2!" ); break; | ||
259 | + } | ||
260 | + } | ||
261 | + } | ||
262 | + else | ||
263 | + { | ||
264 | + qDebug( " shift key has been released. checking if being used..." ); | ||
265 | + shiftKeyPressed = 0; | ||
266 | + | ||
267 | + if ( !shiftUsed ) | ||
268 | + { | ||
269 | + qDebug( " ... has _not_ being used -> really emit the key" ); | ||
270 | + k = ( code == SIMPAD_SWITCH_UPPER ? Qt::Key_Escape : Qt::Key_Return ); | ||
271 | + qDebug( "Emitting key = %d (pressed)", k ); | ||
272 | + processKeyEvent( 0, k, 0, true, true ); | ||
273 | + qDebug( "Emitting key = %d (released)", k ); | ||
274 | + processKeyEvent( 0, k, 0, false, true ); | ||
275 | + return; | ||
276 | + } | ||
277 | + else | ||
278 | + { | ||
279 | + qDebug( " ... has being used -> doing nothing" ); | ||
280 | + return; | ||
281 | + } | ||
282 | + } | ||
283 | + } | ||
284 | + else | ||
285 | + { | ||
286 | + qDebug( "standard mode - no shift yet..." ); | ||
287 | + | ||
288 | + switch(code) | ||
289 | + { | ||
290 | + case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break; | ||
291 | + case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break; | ||
292 | + case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break; | ||
293 | + case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break; | ||
294 | + case SIMPAD_SWITCH_POWER: k = Qt::Key_F34; break; // Power Button | ||
295 | + | ||
296 | + case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; | ||
297 | + case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; | ||
298 | + | ||
299 | + default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break; | ||
300 | + } | ||
301 | + } | ||
302 | + | ||
303 | + if ( k == -1 ) | ||
304 | + { | ||
305 | + qDebug( "no key to emit - returning." ); | ||
306 | + return; | ||
307 | + } | ||
308 | + | ||
309 | + bool repeatable = ( k == Qt::Key_Up || k == Qt::Key_Down || | ||
310 | + k == Qt::Key_Right || k == Qt::Key_Left ); | ||
311 | + | ||
312 | + qDebug( "key to emit = %d [%s] [repeat=%s]", k, | ||
313 | + press ? "press" : "release", | ||
314 | + repeatable ? "true":"false" ); | ||
315 | + | ||
316 | + if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down ) | ||
317 | + { | ||
318 | + qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." ); | ||
319 | + int oldK = k; | ||
320 | + k = xform_dirkey( k ); | ||
321 | + qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k ); | ||
322 | + } | ||
323 | + | ||
324 | + if ( repeatable && press ) | ||
325 | + repeater->start( repeatdelay, true ); | ||
326 | + else | ||
327 | + repeater->stop(); | ||
328 | + | ||
329 | + qwsServer->processKeyEvent( 0, k, 0, press, false ); | ||
330 | +} | ||
331 | + | ||
332 | + | ||
333 | +void QWSsimpadButtonsHandler::autoRepeat() | ||
334 | +{ | ||
335 | + qDebug( "Emitting key = %d (released)", k ); | ||
336 | + processKeyEvent( 0, k, 0, false, true ); | ||
337 | + qDebug( "Emitting key = %d (pressed)", k ); | ||
338 | + processKeyEvent( 0, k, 0, true, true ); | ||
339 | + repeater->start(repeatperiod); | ||
340 | +} | ||
341 | + | ||
342 | + | ||
343 | +#endif // QT_NO_QWS_KEYBOARD | ||
344 | --- qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp~simpad | ||
345 | +++ qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp | ||
346 | @@ -53,8 +53,8 @@ | ||
347 | |||
348 | extern int errno; | ||
349 | |||
350 | -#define QT_QWS_SOUND_16BIT 1 // or 0, or undefined for always 0 | ||
351 | -#define QT_QWS_SOUND_STEREO 1 // or 0, or undefined for always 0 | ||
352 | +#define QT_QWS_SOUND_16BIT 0 // or 0, or undefined for always 0 | ||
353 | +#define QT_QWS_SOUND_STEREO 0 // or 0, or undefined for always 0 | ||
354 | |||
355 | // Zaurus SL5000D doesn't seem to return any error if setting to 44000 and it fails, | ||
356 | // however 44100 works, 44100 is more common that 44000. | ||
357 | --- qt-2.3.10-snapshot-20050131/src/kernel/qwsmouse_qws.cpp~simpad | ||
358 | +++ qt-2.3.10-snapshot-20050131/src/kernel/qwsmouse_qws.cpp | ||
359 | @@ -47,6 +47,7 @@ | ||
360 | #include <stdlib.h> | ||
361 | #include <stdio.h> | ||
362 | #include <sys/ioctl.h> | ||
363 | +#include <sys/time.h> | ||
364 | #include <sys/types.h> | ||
365 | #include <sys/stat.h> | ||
366 | #include <fcntl.h> | ||
367 | @@ -73,6 +74,7 @@ | ||
368 | unsigned short x; | ||
369 | unsigned short y; | ||
370 | unsigned short pad; | ||
371 | + struct timeval stamp; | ||
372 | } TS_EVENT; | ||
373 | #elif defined(QT_QWS_SL5XXX) | ||
374 | #define QT_QWS_SL5XXX_RAW | ||
375 | @@ -1310,6 +1312,11 @@ | ||
376 | return; | ||
377 | } | ||
378 | # endif | ||
379 | +#elif defined(QT_QWS_SIMPAD ) | ||
380 | + if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK )) < 0) { | ||
381 | + qWarning( "Cannot open /dev/touchscreen/ucb1x00 (%s)", strerror(errno)); | ||
382 | + return; | ||
383 | + } | ||
384 | #endif | ||
385 | |||
386 | QSocketNotifier *mouseNotifier; | ||
387 | @@ -1323,7 +1330,7 @@ | ||
388 | |||
389 | QTPanelHandlerPrivate::~QTPanelHandlerPrivate() | ||
390 | { | ||
391 | -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) | ||
392 | +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD) | ||
393 | if (mouseFD >= 0) | ||
394 | close(mouseFD); | ||
395 | #endif | ||
396 | @@ -1331,7 +1338,7 @@ | ||
397 | |||
398 | void QTPanelHandlerPrivate::readMouseData() | ||
399 | { | ||
400 | -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) | ||
401 | +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD) | ||
402 | if(!qt_screen) | ||
403 | return; | ||
404 | |||
405 | @@ -2014,7 +2021,7 @@ | ||
406 | handler = new QTSLibHandlerPrivate(); | ||
407 | #elif defined(QT_QWS_YOPY) | ||
408 | handler = new QYopyTPanelHandlerPrivate(mouseProtocol,mouseDev); | ||
409 | -#elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) | ||
410 | +#elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD) | ||
411 | handler = new QTPanelHandlerPrivate(mouseProtocol,mouseDev); | ||
412 | #elif defined(QT_QWS_CASSIOPEIA) | ||
413 | handler = new QVrTPanelHandlerPrivate( mouseProtocol, mouseDev ); | ||
diff --git a/qt/qt-2.3.10.patch/tslib.patch b/qt/qt-2.3.10.patch/tslib.patch new file mode 100644 index 0000000..47837d7 --- a/dev/null +++ b/qt/qt-2.3.10.patch/tslib.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | Index: qt-2.3.10/src/kernel/qwsmouse_qws.cpp | ||
2 | =================================================================== | ||
3 | --- qt-2.3.10.orig/src/kernel/qwsmouse_qws.cpp2005-02-16 00:53:53.090339898 +0100 | ||
4 | +++ qt-2.3.10/src/kernel/qwsmouse_qws.cpp2005-02-16 00:54:43.059069292 +0100 | ||
5 | @@ -1878,30 +1878,33 @@ | ||
6 | */ | ||
7 | void QTSLibHandlerPrivate::interpolateSample() { | ||
8 | #ifdef QT_QWS_TSLIB | ||
9 | - static struct ts_sample samples[25]; | ||
10 | - int index = -1; | ||
11 | +#define TSLIB_MAX_SAMPLES 25 | ||
12 | + static struct ts_sample samples[TSLIB_MAX_SAMPLES]; | ||
13 | + int index = 0; | ||
14 | + int read_samples = 0; | ||
15 | int ret; | ||
16 | |||
17 | do { | ||
18 | - /* fill only the last sample again */ | ||
19 | - if ( index >= 25 ) | ||
20 | - index = 24; | ||
21 | - | ||
22 | + /* do not access negative arrays */ | ||
23 | + if ( index < 0 ) | ||
24 | + index = 0; | ||
25 | + | ||
26 | /* we're opened non-blocking */ | ||
27 | - if((ret= ts_read_raw(m_ts, &samples[index], 1 ) ) != 1 ) { | ||
28 | + if((ret= ts_read_raw(m_ts, &samples[index], 1 ) ) != 1 ) | ||
29 | /* no event yet, so try again */ | ||
30 | - if (ret==-1 ) { | ||
31 | - index--; | ||
32 | + if (ret==-1 ) | ||
33 | continue; | ||
34 | - } | ||
35 | - } | ||
36 | - }while (samples[index++].pressure != 0); | ||
37 | + | ||
38 | +read_samples++; | ||
39 | +index = (index+1)%TSLIB_MAX_SAMPLES; | ||
40 | + }while (samples[index == 0 ? (TSLIB_MAX_SAMPLES-1) : index-1].pressure != 0); | ||
41 | |||
42 | /* | ||
43 | - * index is maximal 25 and we at least one sample | ||
44 | + * If we've wrapped around each sample is used otherwise | ||
45 | + * we will use the index | ||
46 | */ | ||
47 | - if( index >= 25 ) | ||
48 | - index = 24; | ||
49 | + index = read_samples >= TSLIB_MAX_SAMPLES ? | ||
50 | + (TSLIB_MAX_SAMPLES-1 ) : index; | ||
51 | int x, y; | ||
52 | |||
53 | /* | ||
diff --git a/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch b/qt/qt-2.3.10.patch/vt-switch.patch index be2745c..4007a5d 100644 --- a/qt/qt-2.3.7.patch/qte237-0-vtswitch.patch +++ b/qt/qt-2.3.10.patch/vt-switch.patch | |||
@@ -1,205 +1,178 @@ | |||
1 | 1 | ||
2 | # | 2 | # |
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | 3 | # Patch managed by http://www.holgerschurig.de/patcher.html |
4 | # | 4 | # |
5 | 5 | ||
6 | --- qt-2.3.7/src/kernel/qapplication_qws.cpp~vt-switch.patch | 6 | --- qt-2.3.9-snapshot-20041221/src/kernel/qapplication_qws.cpp~vt-switch.patch |
7 | +++ qt-2.3.7/src/kernel/qapplication_qws.cpp | 7 | +++ qt-2.3.9-snapshot-20041221/src/kernel/qapplication_qws.cpp |
8 | @@ -123,6 +123,12 @@ | 8 | @@ -124,6 +124,12 @@ |
9 | static int qt_thread_pipe[2]; | 9 | static int qt_thread_pipe[2]; |
10 | #endif | 10 | #endif |
11 | 11 | ||
12 | +#if defined(_OS_LINUX_) | 12 | +#if defined(_OS_LINUX_) |
13 | +#include <sys/ioctl.h> | 13 | +#include <sys/ioctl.h> |
14 | +#include <linux/vt.h> | 14 | +#include <linux/vt.h> |
15 | +#include <linux/kd.h> | 15 | +#include <linux/kd.h> |
16 | +#endif | 16 | +#endif |
17 | + | 17 | + |
18 | const int qwsSharedRamSize = 32 * 1024;//Small amount to fit on small devices. | 18 | const int qwsSharedRamSize = 32 * 1024;//Small amount to fit on small devices. |
19 | 19 | ||
20 | // These are in qapplication.cpp in qt/main | 20 | // These are in qapplication.cpp in qt/main |
21 | @@ -163,6 +169,8 @@ | 21 | @@ -164,6 +170,8 @@ |
22 | bool qws_accel = TRUE; // ### never set | 22 | bool qws_accel = TRUE; // ### never set |
23 | const char *qws_display_spec = ":0"; | 23 | const char *qws_display_spec = ":0"; |
24 | int qws_display_id = 0; | 24 | int qws_display_id = 0; |
25 | +int qws_terminal_id = 0; | 25 | +int qws_terminal_id = 0; |
26 | +int qws_terminal_old = 0; | 26 | +int qws_terminal_old = 0; |
27 | int qws_client_id = 0; | 27 | int qws_client_id = 0; |
28 | QWidget *qt_pressGrab = 0; | 28 | QWidget *qt_pressGrab = 0; |
29 | QWidget *qt_mouseGrb = 0; | 29 | QWidget *qt_mouseGrb = 0; |
30 | @@ -1628,6 +1636,15 @@ | 30 | @@ -1700,6 +1708,15 @@ |
31 | type = QApplication::GuiServer; | 31 | type = QApplication::GuiServer; |
32 | } else if ( arg == "-interlaced" ) { | 32 | } else if ( arg == "-interlaced" ) { |
33 | qws_screen_is_interlaced = TRUE; | 33 | qws_screen_is_interlaced = TRUE; |
34 | + } else if ( arg == "-terminal" ) { | 34 | + } else if ( arg == "-terminal" ) { |
35 | + if ( ++i < argc ) | 35 | + if ( ++i < argc ) |
36 | + { | 36 | + { |
37 | + if ( ( qws_terminal_id = atoi( argv[i] ) ) < 1 ) | 37 | + if ( ( qws_terminal_id = atoi( argv[i] ) ) < 1 ) |
38 | + { | 38 | + { |
39 | + qWarning( "Ignoring Invalid Terminal Specification." ); | 39 | + qWarning( "Ignoring Invalid Terminal Specification." ); |
40 | + qws_terminal_id = 0; | 40 | + qws_terminal_id = 0; |
41 | + } | 41 | + } |
42 | + } | 42 | + } |
43 | } else if ( arg == "-display" ) { | 43 | } else if ( arg == "-display" ) { |
44 | if ( ++i < argc ) | 44 | if ( ++i < argc ) |
45 | qws_display_spec = argv[i]; | 45 | qws_display_spec = argv[i]; |
46 | @@ -1652,6 +1669,53 @@ | 46 | @@ -1724,6 +1741,53 @@ |
47 | if ( type == QApplication::GuiServer ) { | 47 | if ( type == QApplication::GuiServer ) { |
48 | qt_appType = type; | 48 | qt_appType = type; |
49 | qws_single_process = TRUE; | 49 | qws_single_process = TRUE; |
50 | + | 50 | + |
51 | + /* Allocate a dedicated virtual terminal -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | 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. | 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. | 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. | 54 | + * As default in Linux, 0 means the current virtual terminal. |
55 | + */ | 55 | + */ |
56 | + #if defined(_OS_LINUX_) | 56 | + #if defined(_OS_LINUX_) |
57 | + if ( qws_terminal_id ) | 57 | + if ( qws_terminal_id ) |
58 | + { | 58 | + { |
59 | + qDebug( "qt_init() - terminal specification is '%d'.", qws_terminal_id ); | 59 | + qDebug( "qt_init() - terminal specification is '%d'.", qws_terminal_id ); |
60 | + struct vt_stat console_stat; | 60 | + struct vt_stat console_stat; |
61 | + int console_fd = ::open( QString().sprintf( "/dev/tty%d", qws_terminal_id ).latin1(), O_RDWR ); | 61 | + int console_fd = ::open( QString().sprintf( "/dev/tty%d", qws_terminal_id ).latin1(), O_RDWR ); |
62 | + if ( console_fd == -1) | 62 | + if ( console_fd == -1) |
63 | + { | 63 | + { |
64 | + qWarning( "qt_init() - can't open tty: %s", strerror( errno ) ); | 64 | + qWarning( "qt_init() - can't open tty: %s", strerror( errno ) ); |
65 | + exit( -1 ); | 65 | + exit( -1 ); |
66 | + } | 66 | + } |
67 | + if ( ioctl( console_fd, VT_GETSTATE, &console_stat ) == -1 ) | 67 | + if ( ioctl( console_fd, VT_GETSTATE, &console_stat ) == -1 ) |
68 | + { | 68 | + { |
69 | + qWarning( "qt_init() - can't ioctl(VT_GETSTATE): %s", strerror( errno ) ); | 69 | + qWarning( "qt_init() - can't ioctl(VT_GETSTATE): %s", strerror( errno ) ); |
70 | + exit( -1 ); | 70 | + exit( -1 ); |
71 | + } | 71 | + } |
72 | + qws_terminal_old = console_stat.v_active; | 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 ); | 73 | + qDebug( "qt_init() - active vt is #%d, switching to #%d as requested...", qws_terminal_old, qws_terminal_id ); |
74 | + | 74 | + |
75 | + if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_id ) == -1 ) | 75 | + if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_id ) == -1 ) |
76 | + { | 76 | + { |
77 | + qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) ); | 77 | + qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) ); |
78 | + exit( -1 ); | 78 | + exit( -1 ); |
79 | + } | 79 | + } |
80 | + if ( ioctl( console_fd, VT_WAITACTIVE, qws_terminal_id ) == -1 ) | 80 | + if ( ioctl( console_fd, VT_WAITACTIVE, qws_terminal_id ) == -1 ) |
81 | + { | 81 | + { |
82 | + qWarning( "qt_init() - can't ioctl(VT_WAITACTIVE): %s", strerror( errno ) ); | 82 | + qWarning( "qt_init() - can't ioctl(VT_WAITACTIVE): %s", strerror( errno ) ); |
83 | + exit( -1 ); | 83 | + exit( -1 ); |
84 | + } | 84 | + } |
85 | + if ( ioctl( console_fd, KDSETMODE, KD_GRAPHICS ) == -1 ) | 85 | + if ( ioctl( console_fd, KDSETMODE, KD_GRAPHICS ) == -1 ) |
86 | + { | 86 | + { |
87 | + qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_GRAPHICS): %s", strerror( errno ) ); | 87 | + qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_GRAPHICS): %s", strerror( errno ) ); |
88 | + exit( -1 ); | 88 | + exit( -1 ); |
89 | + } | 89 | + } |
90 | + ::close( console_fd ); | 90 | + ::close( console_fd ); |
91 | + } | 91 | + } |
92 | + else | 92 | + else |
93 | + { | 93 | + { |
94 | + qDebug( "QWSApplication::qt_init() - current terminal specified." ); | 94 | + qDebug( "QWSApplication::qt_init() - current terminal specified." ); |
95 | + } | 95 | + } |
96 | + #endif | 96 | + #endif |
97 | QWSServer::startup(flags); | 97 | QWSServer::startup(flags); |
98 | setenv("QWS_DISPLAY", qws_display_spec, 0); | 98 | setenv("QWS_DISPLAY", qws_display_spec, 0); |
99 | } | 99 | } |
100 | @@ -1702,7 +1766,36 @@ | 100 | @@ -1774,7 +1838,36 @@ |
101 | QFontManager::cleanup(); | 101 | QFontManager::cleanup(); |
102 | 102 | ||
103 | if ( qws_single_process ) { | 103 | if ( qws_single_process ) { |
104 | -QWSServer::closedown(); | 104 | -QWSServer::closedown(); |
105 | + qDebug( "qt_cleanup() - shutting down QWSServer..." ); | 105 | + qDebug( "qt_cleanup() - shutting down QWSServer..." ); |
106 | +#ifndef QT_NO_QWS_KEYBOARD | 106 | +#ifndef QT_NO_QWS_KEYBOARD |
107 | + if ( qwsServer ) | 107 | + if ( qwsServer ) |
108 | + qwsServer->closeKeyboard(); | 108 | + qwsServer->closeKeyboard(); |
109 | +#endif | 109 | +#endif |
110 | + QWSServer::closedown(); | 110 | + QWSServer::closedown(); |
111 | +#if defined(_OS_LINUX_) | 111 | +#if defined(_OS_LINUX_) |
112 | + if ( qws_terminal_old > 0 ) | 112 | + if ( qws_terminal_old > 0 ) |
113 | + { | 113 | + { |
114 | + qDebug( "qt_cleanup() - switching back to virtual terminal #%d", qws_terminal_old ); | 114 | + qDebug( "qt_cleanup() - switching back to virtual terminal #%d", qws_terminal_old ); |
115 | + | 115 | + |
116 | + int console_fd = ::open( "/dev/tty0", O_RDWR ); | 116 | + int console_fd = ::open( "/dev/tty0", O_RDWR ); |
117 | + if ( console_fd == -1) | 117 | + if ( console_fd == -1) |
118 | + { | 118 | + { |
119 | + qWarning( "qt_init() - can't open tty: %s", strerror( errno ) ); | 119 | + qWarning( "qt_init() - can't open tty: %s", strerror( errno ) ); |
120 | + } | 120 | + } |
121 | + else | 121 | + else |
122 | + { | 122 | + { |
123 | + if ( ioctl( console_fd, KDSETMODE, KD_TEXT ) == -1 ) | 123 | + if ( ioctl( console_fd, KDSETMODE, KD_TEXT ) == -1 ) |
124 | + { | 124 | + { |
125 | + qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_TEXT): %s", strerror( errno ) ); | 125 | + qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_TEXT): %s", strerror( errno ) ); |
126 | + } | 126 | + } |
127 | + if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_old ) == -1 ) | 127 | + if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_old ) == -1 ) |
128 | + { | 128 | + { |
129 | + qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) ); | 129 | + qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) ); |
130 | + } | 130 | + } |
131 | + ::close( console_fd ); | 131 | + ::close( console_fd ); |
132 | + } | 132 | + } |
133 | + } | 133 | + } |
134 | +#endif | 134 | +#endif |
135 | } | 135 | } |
136 | if ( qt_is_gui_used ) { | 136 | if ( qt_is_gui_used ) { |
137 | delete qt_fbdpy; | 137 | delete qt_fbdpy; |
138 | @@ -2584,7 +2677,7 @@ | 138 | --- qt-2.3.9-snapshot-20041221/src/kernel/qkeyboard_qws.cpp~vt-switch.patch |
139 | if ( !widget ) { // don't know this window | 139 | +++ qt-2.3.9-snapshot-20041221/src/kernel/qkeyboard_qws.cpp |
140 | if ( !QWidget::mouseGrabber() | 140 | @@ -1247,6 +1247,24 @@ |
141 | #ifndef QT_NO_QWS_MANAGER | ||
142 | - && !QWSManager::grabbedMouse() | ||
143 | + && !QWSManager::grabbedMouse() | ||
144 | #endif | ||
145 | ) { | ||
146 | qt_last_cursor = 0xffffffff; // cursor can be changed by another application | ||
147 | @@ -3394,7 +3487,7 @@ | ||
148 | #ifndef QT_NO_QWS_IM | ||
149 | if ( mouse.state&button && w != QInputContext::microFocusWidget() ) //button press | ||
150 | QInputContext::reset( oldFocus ); | ||
151 | -#endif | ||
152 | +#endif | ||
153 | QFocusEvent::setReason( QFocusEvent::Mouse); | ||
154 | w->setFocus(); | ||
155 | QFocusEvent::resetReason(); | ||
156 | @@ -3540,7 +3633,7 @@ | ||
157 | QApplication::sendEvent( widget, &enter ); | ||
158 | (*mouseInWidget) = widget; | ||
159 | #ifndef QT_NO_QWS_IM | ||
160 | - if ( e.type() == QEvent::MouseButtonPress && | ||
161 | + if ( e.type() == QEvent::MouseButtonPress && | ||
162 | !widget->testWFlags( Qt::WStyle_Tool ) && | ||
163 | !widget->topLevelWidget()->testWFlags( Qt::WStyle_Tool ) ) | ||
164 | QInputContext::reset( oldFocus ); | ||
165 | --- qt-2.3.7/src/kernel/qkeyboard_qws.cpp~vt-switch.patch | ||
166 | +++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp | ||
167 | @@ -1068,6 +1068,24 @@ | ||
168 | { | 141 | { |
169 | if (kbdFD >= 0) | 142 | if (kbdFD >= 0) |
170 | { | 143 | { |
171 | + | 144 | + |
172 | +#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) | 145 | +#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) |
173 | + struct vt_mode vtMode; | 146 | + struct vt_mode vtMode; |
174 | + ioctl(kbdFD, VT_GETMODE, &vtMode); | 147 | + ioctl(kbdFD, VT_GETMODE, &vtMode); |
175 | + | 148 | + |
176 | + /* Mickey says: "Better give up control of VT switching. | 149 | + /* Mickey says: "Better give up control of VT switching. |
177 | + * Hey, I really hate that OS-will-reacquire-resources on process-death | 150 | + * Hey, I really hate that OS-will-reacquire-resources on process-death |
178 | + * kind of thinking! | 151 | + * kind of thinking! |
179 | + */ | 152 | + */ |
180 | + vtMode.mode = VT_AUTO; | 153 | + vtMode.mode = VT_AUTO; |
181 | + vtMode.relsig = 0; | 154 | + vtMode.relsig = 0; |
182 | + vtMode.acqsig = 0; | 155 | + vtMode.acqsig = 0; |
183 | + ioctl(kbdFD, VT_SETMODE, &vtMode); | 156 | + ioctl(kbdFD, VT_SETMODE, &vtMode); |
184 | + | 157 | + |
185 | + signal(VTSWITCHSIG, 0); | 158 | + signal(VTSWITCHSIG, 0); |
186 | + qDebug( "~QWSTtyKeyboardHandler() - released VT." ); | 159 | + qDebug( "~QWSTtyKeyboardHandler() - released VT." ); |
187 | +#endif | 160 | +#endif |
188 | + | 161 | + |
189 | #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) | 162 | #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) |
190 | ioctl(kbdFD, KDSKBMODE, K_XLATE); | 163 | ioctl(kbdFD, KDSKBMODE, K_XLATE); |
191 | #endif | 164 | #endif |
192 | --- qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch | 165 | --- qt-2.3.9-snapshot-20041221/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch |
193 | +++ qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp | 166 | +++ qt-2.3.9-snapshot-20041221/src/kernel/qgfxlinuxfb_qws.cpp |
194 | @@ -251,9 +251,9 @@ | 167 | @@ -251,9 +251,9 @@ |
195 | 168 | ||
196 | bool QLinuxFbScreen::initDevice() | 169 | bool QLinuxFbScreen::initDevice() |
197 | { | 170 | { |
198 | - // No blankin' screen, no blinkin' cursor!, no cursor! | 171 | - // No blankin' screen, no blinkin' cursor!, no cursor! |
199 | + /* Setting up the VT parameters is done in qapplication_qws.cpp | 172 | + /* Setting up the VT parameters is done in qapplication_qws.cpp |
200 | const char termctl[]="\033[9;0]\033[?33l\033[?25l"; | 173 | const char termctl[]="\033[9;0]\033[?33l\033[?25l"; |
201 | - writeTerm(termctl,sizeof(termctl)); | 174 | - writeTerm(termctl,sizeof(termctl)); |
202 | + writeTerm(termctl,sizeof(termctl)); */ | 175 | + writeTerm(termctl,sizeof(termctl)); */ |
203 | 176 | ||
204 | // Grab current mode so we can reset it | 177 | // Grab current mode so we can reset it |
205 | fb_var_screeninfo vinfo; | 178 | fb_var_screeninfo vinfo; |
diff --git a/qt/qt-2.3.5.patch/qte235-all.patch b/qt/qt-2.3.5.patch/qte235-all.patch deleted file mode 100644 index 9b58dbe..0000000 --- a/qt/qt-2.3.5.patch/qte235-all.patch +++ b/dev/null | |||
@@ -1,450 +0,0 @@ | |||
1 | diff -ru qt-2.3.5_fresh/include/qapplication.h qt-2.3.5/include/qapplication.h | ||
2 | --- qt-2.3.5_fresh/include/qapplication.h2003-05-13 15:56:10.000000000 +0200 | ||
3 | +++ qt-2.3.5/include/qapplication.h2003-05-13 15:58:18.000000000 +0200 | ||
4 | @@ -61,6 +61,10 @@ | ||
5 | class QSemaphore; | ||
6 | #endif | ||
7 | |||
8 | +#if !defined( QT_WEAK_SYMBOL ) | ||
9 | +#define QT_WEAK_SYMBOL | ||
10 | +#endif | ||
11 | + | ||
12 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
13 | #define QNonBaseApplication QApplication | ||
14 | |||
15 | @@ -85,7 +89,10 @@ | ||
16 | |||
17 | #ifndef QT_NO_STYLE | ||
18 | static QStyle &style(); | ||
19 | - static void setStyle( QStyle* ); | ||
20 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
21 | +private: | ||
22 | +static void setStyle_NonWeak( QStyle* ); | ||
23 | +public: | ||
24 | #endif | ||
25 | #if 1/* OBSOLETE */ | ||
26 | enum ColorMode { NormalColors, CustomColors }; | ||
27 | @@ -106,11 +113,19 @@ | ||
28 | #ifndef QT_NO_PALETTE | ||
29 | static QPalette palette( const QWidget* = 0 ); | ||
30 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
31 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
32 | +private: | ||
33 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
34 | const char* className = 0 ); | ||
35 | +public: | ||
36 | #endif | ||
37 | static QFont font( const QWidget* = 0 ); | ||
38 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
39 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
40 | +private: | ||
41 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
42 | const char* className = 0 ); | ||
43 | +public: | ||
44 | static QFontMetrics fontMetrics(); | ||
45 | |||
46 | QWidget *mainWidget() const; | ||
47 | @@ -207,7 +222,10 @@ | ||
48 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
49 | #ifndef QT_NO_QWS_MANAGER | ||
50 | static QWSDecoration &qwsDecoration(); | ||
51 | - static void qwsSetDecoration( QWSDecoration *); | ||
52 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
53 | +private: | ||
54 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
55 | +public: | ||
56 | #endif | ||
57 | #endif | ||
58 | |||
59 | diff -ru qt-2.3.5_fresh/include/qfontdatabase.h qt-2.3.5/include/qfontdatabase.h | ||
60 | --- qt-2.3.5_fresh/include/qfontdatabase.h2003-05-13 15:56:11.000000000 +0200 | ||
61 | +++ qt-2.3.5/include/qfontdatabase.h2003-05-13 15:58:18.000000000 +0200 | ||
62 | @@ -59,6 +59,10 @@ | ||
63 | class QDiskFont; | ||
64 | #endif | ||
65 | |||
66 | +#if !defined( QT_WEAK_SYMBOL ) | ||
67 | +#define QT_WEAK_SYMBOL | ||
68 | +#endif | ||
69 | + | ||
70 | class QFontDatabasePrivate; | ||
71 | |||
72 | class Q_EXPORT QFontDatabase | ||
73 | @@ -67,9 +71,16 @@ | ||
74 | QFontDatabase(); | ||
75 | |||
76 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
77 | + | ||
78 | + | ||
79 | QValueList<int> pointSizes( const QString &family, | ||
80 | const QString &style = QString::null, | ||
81 | - const QString &charSet = QString::null ); | ||
82 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
83 | +private: | ||
84 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
85 | + const QString &style, | ||
86 | + const QString &charSet ); | ||
87 | +public: | ||
88 | QStringList styles( const QString &family, | ||
89 | const QString &charSet = QString::null ) const; | ||
90 | QStringList charSets( const QString &familyName, | ||
91 | diff -ru qt-2.3.5_fresh/src/kernel/qapplication.cpp qt-2.3.5/src/kernel/qapplication.cpp | ||
92 | --- qt-2.3.5_fresh/src/kernel/qapplication.cpp2003-05-13 15:56:10.000000000 +0200 | ||
93 | +++ qt-2.3.5/src/kernel/qapplication.cpp2003-05-13 15:58:19.000000000 +0200 | ||
94 | @@ -35,6 +35,8 @@ | ||
95 | ** | ||
96 | **********************************************************************/ | ||
97 | |||
98 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
99 | + | ||
100 | #include "qobjectlist.h" | ||
101 | #include "qobjectdict.h" | ||
102 | #include "qapplication.h" | ||
103 | @@ -933,11 +935,16 @@ | ||
104 | #ifndef QT_NO_STYLE | ||
105 | void QApplication::setStyle( QStyle *style ) | ||
106 | { | ||
107 | +setStyle_NonWeak ( style ); | ||
108 | +} | ||
109 | + | ||
110 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
111 | +{ | ||
112 | QStyle* old = app_style; | ||
113 | - app_style = style; | ||
114 | |||
115 | if ( startingUp() ) { | ||
116 | delete old; | ||
117 | +app_style = style; | ||
118 | return; | ||
119 | } | ||
120 | |||
121 | @@ -958,6 +965,8 @@ | ||
122 | old->unPolish( qApp ); | ||
123 | } | ||
124 | |||
125 | + app_style = style; | ||
126 | + | ||
127 | // take care of possible palette requirements of certain gui | ||
128 | // styles. Do it before polishing the application since the style | ||
129 | // might call QApplication::setStyle() itself | ||
130 | @@ -1184,13 +1193,30 @@ | ||
131 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
132 | */ | ||
133 | |||
134 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
135 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
136 | + const char* className ) | ||
137 | +{ | ||
138 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
139 | +} | ||
140 | + | ||
141 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
142 | const char* className ) | ||
143 | { | ||
144 | QPalette pal = palette; | ||
145 | #ifndef QT_NO_STYLE | ||
146 | - if ( !startingUp() ) | ||
147 | + if ( !startingUp() ) { | ||
148 | qApp->style().polish( pal );// NB: non-const reference | ||
149 | +if ( className ) { | ||
150 | + // if we just polished a class specific palette (this normally | ||
151 | + // only called by qt_fix_tooltips - see below), we better re- | ||
152 | + // polish the global palette. Some styles like liquid can get | ||
153 | + // confused, because they can not detect if the polished palette | ||
154 | + // is the global one or only a class specific one. | ||
155 | + // (liquid uses this palette to calculate blending pixmaps) | ||
156 | + QPalette p = qApp-> palette ( ); | ||
157 | + qApp->style().polish ( p ); | ||
158 | +} | ||
159 | + } | ||
160 | #endif | ||
161 | bool all = FALSE; | ||
162 | if ( !className ) { | ||
163 | @@ -1275,6 +1301,12 @@ | ||
164 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
165 | const char* className ) | ||
166 | { | ||
167 | +setFont_NonWeak ( font, informWidgets, className ); | ||
168 | +} | ||
169 | + | ||
170 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
171 | + const char* className ) | ||
172 | +{ | ||
173 | bool all = FALSE; | ||
174 | if ( !className ) { | ||
175 | if ( !app_font ) { | ||
176 | Nur in qt-2.3.5/src/kernel: qapplication.cpp.orig. | ||
177 | diff -ru qt-2.3.5_fresh/src/kernel/qapplication.h qt-2.3.5/src/kernel/qapplication.h | ||
178 | --- qt-2.3.5_fresh/src/kernel/qapplication.h2003-05-13 15:56:10.000000000 +0200 | ||
179 | +++ qt-2.3.5/src/kernel/qapplication.h2003-05-13 15:58:18.000000000 +0200 | ||
180 | @@ -61,6 +61,10 @@ | ||
181 | class QSemaphore; | ||
182 | #endif | ||
183 | |||
184 | +#if !defined( QT_WEAK_SYMBOL ) | ||
185 | +#define QT_WEAK_SYMBOL | ||
186 | +#endif | ||
187 | + | ||
188 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
189 | #define QNonBaseApplication QApplication | ||
190 | |||
191 | @@ -85,7 +89,10 @@ | ||
192 | |||
193 | #ifndef QT_NO_STYLE | ||
194 | static QStyle &style(); | ||
195 | - static void setStyle( QStyle* ); | ||
196 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
197 | +private: | ||
198 | +static void setStyle_NonWeak( QStyle* ); | ||
199 | +public: | ||
200 | #endif | ||
201 | #if 1/* OBSOLETE */ | ||
202 | enum ColorMode { NormalColors, CustomColors }; | ||
203 | @@ -106,11 +113,19 @@ | ||
204 | #ifndef QT_NO_PALETTE | ||
205 | static QPalette palette( const QWidget* = 0 ); | ||
206 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
207 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
208 | +private: | ||
209 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
210 | const char* className = 0 ); | ||
211 | +public: | ||
212 | #endif | ||
213 | static QFont font( const QWidget* = 0 ); | ||
214 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
215 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
216 | +private: | ||
217 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
218 | const char* className = 0 ); | ||
219 | +public: | ||
220 | static QFontMetrics fontMetrics(); | ||
221 | |||
222 | QWidget *mainWidget() const; | ||
223 | @@ -207,7 +222,10 @@ | ||
224 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
225 | #ifndef QT_NO_QWS_MANAGER | ||
226 | static QWSDecoration &qwsDecoration(); | ||
227 | - static void qwsSetDecoration( QWSDecoration *); | ||
228 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
229 | +private: | ||
230 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
231 | +public: | ||
232 | #endif | ||
233 | #endif | ||
234 | |||
235 | diff -ru qt-2.3.5_fresh/src/kernel/qapplication_qws.cpp qt-2.3.5/src/kernel/qapplication_qws.cpp | ||
236 | --- qt-2.3.5_fresh/src/kernel/qapplication_qws.cpp2003-05-13 15:56:10.000000000 +0200 | ||
237 | +++ qt-2.3.5/src/kernel/qapplication_qws.cpp2003-05-13 15:58:18.000000000 +0200 | ||
238 | @@ -2737,6 +2737,11 @@ | ||
239 | */ | ||
240 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
241 | { | ||
242 | +qwsSetDecoration_NonWeak ( d ); | ||
243 | +} | ||
244 | + | ||
245 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
246 | +{ | ||
247 | if ( d ) { | ||
248 | delete qws_decoration; | ||
249 | qws_decoration = d; | ||
250 | Nur in qt-2.3.5/src/kernel: qapplication_qws.cpp.orig. | ||
251 | diff -ru qt-2.3.5_fresh/src/kernel/qfontdatabase.cpp qt-2.3.5/src/kernel/qfontdatabase.cpp | ||
252 | --- qt-2.3.5_fresh/src/kernel/qfontdatabase.cpp2003-05-13 15:56:11.000000000 +0200 | ||
253 | +++ qt-2.3.5/src/kernel/qfontdatabase.cpp2003-05-13 15:58:18.000000000 +0200 | ||
254 | @@ -35,6 +35,8 @@ | ||
255 | ** | ||
256 | **********************************************************************/ | ||
257 | |||
258 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
259 | + | ||
260 | #include "qfontdatabase.h" | ||
261 | |||
262 | #ifndef QT_NO_FONTDATABASE | ||
263 | @@ -2424,6 +2426,13 @@ | ||
264 | const QString &style, | ||
265 | const QString &charSet ) | ||
266 | { | ||
267 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
268 | +} | ||
269 | + | ||
270 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
271 | + const QString &style, | ||
272 | + const QString &charSet ) | ||
273 | +{ | ||
274 | QString cs( charSet ); | ||
275 | if ( charSet.isEmpty() ) { | ||
276 | QStringList lst = charSets( family ); | ||
277 | diff -ru qt-2.3.5_fresh/src/kernel/qfontdatabase.h qt-2.3.5/src/kernel/qfontdatabase.h | ||
278 | --- qt-2.3.5_fresh/src/kernel/qfontdatabase.h2003-05-13 15:56:11.000000000 +0200 | ||
279 | +++ qt-2.3.5/src/kernel/qfontdatabase.h2003-05-13 15:58:18.000000000 +0200 | ||
280 | @@ -59,6 +59,10 @@ | ||
281 | class QDiskFont; | ||
282 | #endif | ||
283 | |||
284 | +#if !defined( QT_WEAK_SYMBOL ) | ||
285 | +#define QT_WEAK_SYMBOL | ||
286 | +#endif | ||
287 | + | ||
288 | class QFontDatabasePrivate; | ||
289 | |||
290 | class Q_EXPORT QFontDatabase | ||
291 | @@ -67,9 +71,16 @@ | ||
292 | QFontDatabase(); | ||
293 | |||
294 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
295 | + | ||
296 | + | ||
297 | QValueList<int> pointSizes( const QString &family, | ||
298 | const QString &style = QString::null, | ||
299 | - const QString &charSet = QString::null ); | ||
300 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
301 | +private: | ||
302 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
303 | + const QString &style, | ||
304 | + const QString &charSet ); | ||
305 | +public: | ||
306 | QStringList styles( const QString &family, | ||
307 | const QString &charSet = QString::null ) const; | ||
308 | QStringList charSets( const QString &familyName, | ||
309 | diff -ru qt-2.3.5_fresh/src/kernel/qgfxraster_qws.cpp qt-2.3.5/src/kernel/qgfxraster_qws.cpp | ||
310 | --- qt-2.3.5_fresh/src/kernel/qgfxraster_qws.cpp2003-05-13 15:56:11.000000000 +0200 | ||
311 | +++ qt-2.3.5/src/kernel/qgfxraster_qws.cpp2003-05-13 15:58:18.000000000 +0200 | ||
312 | @@ -4205,7 +4205,7 @@ | ||
313 | setAlphaType(IgnoreAlpha); | ||
314 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
315 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
316 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
317 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
318 | // ### fix for 8bpp | ||
319 | // This seems to be reliable now, at least for 16bpp | ||
320 | |||
321 | Nur in qt-2.3.5/src/kernel: qgfxraster_qws.cpp.orig. | ||
322 | diff -ru qt-2.3.5_fresh/src/kernel/qwindowsystem_qws.cpp qt-2.3.5/src/kernel/qwindowsystem_qws.cpp | ||
323 | --- qt-2.3.5_fresh/src/kernel/qwindowsystem_qws.cpp2003-05-13 15:56:11.000000000 +0200 | ||
324 | +++ qt-2.3.5/src/kernel/qwindowsystem_qws.cpp2003-05-13 15:58:19.000000000 +0200 | ||
325 | @@ -843,6 +843,18 @@ | ||
326 | { | ||
327 | } | ||
328 | |||
329 | +static void catchSegvSignal( int ) | ||
330 | +{ | ||
331 | +#ifndef QT_NO_QWS_KEYBOARD | ||
332 | + if ( qwsServer ) | ||
333 | +qwsServer->closeKeyboard(); | ||
334 | +#endif | ||
335 | + QWSServer::closedown(); | ||
336 | + fprintf(stderr, "Segmentation fault.\n"); | ||
337 | + exit(1); | ||
338 | +} | ||
339 | + | ||
340 | + | ||
341 | /*! | ||
342 | \class QWSServer qwindowsystem_qws.h | ||
343 | \brief Server-specific functionality in Qt/Embedded | ||
344 | @@ -912,6 +924,7 @@ | ||
345 | } | ||
346 | |||
347 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
348 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
349 | #endif | ||
350 | focusw = 0; | ||
351 | mouseGrabber = 0; | ||
352 | diff -ru qt-2.3.5_fresh/src/Makefile.in qt-2.3.5/src/Makefile.in | ||
353 | --- qt-2.3.5_fresh/src/Makefile.in2003-05-13 15:56:13.000000000 +0200 | ||
354 | +++ qt-2.3.5/src/Makefile.in2003-05-13 15:58:18.000000000 +0200 | ||
355 | @@ -6,7 +6,7 @@ | ||
356 | CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS_X11) $(SYSCONF_CXXFLAGS) $(SYSCONF_CXXFLAGS_LIB) -DQT_NO_IMAGEIO_MNG $(QT_CXXFLAGS_OPT) | ||
357 | CC =$(SYSCONF_CC) $(QT_C_MT) | ||
358 | CFLAGS =$(SYSCONF_CFLAGS) $(SYSCONF_CFLAGS_LIB) -DQT_NO_IMAGEIO_MNG $(QT_CFLAGS_OPT) | ||
359 | -INCPATH =-I3rdparty/freetype/src -I3rdparty/freetype/include -I3rdparty/freetype/builds/unix -I3rdparty/kernel -I3rdparty/tools | ||
360 | +INCPATH =-I3rdparty/kernel -I3rdparty/tools | ||
361 | LFLAGS =$(SYSCONF_LFLAGS) $(QT_LFLAGS_MT) | ||
362 | LIBS =$(SUBLIBS) $(SYSCONF_LIBS_QTLIB) | ||
363 | MOC =$(SYSCONF_MOC) | ||
364 | @@ -44,26 +44,7 @@ | ||
365 | 3rdparty/freetype/src/type1/type1.c \ | ||
366 | 3rdparty/freetype/src/winfonts/winfnt.c \ | ||
367 | allmoc.cpp | ||
368 | -OBJECTS =3rdparty/freetype/builds/unix/ftsystem.o \ | ||
369 | - 3rdparty/freetype/src/base/ftdebug.o \ | ||
370 | - 3rdparty/freetype/src/base/ftinit.o \ | ||
371 | - 3rdparty/freetype/src/base/ftbase.o \ | ||
372 | - 3rdparty/freetype/src/base/ftglyph.o \ | ||
373 | - 3rdparty/freetype/src/base/ftmm.o \ | ||
374 | - 3rdparty/freetype/src/base/ftbbox.o \ | ||
375 | - 3rdparty/freetype/src/autohint/autohint.o \ | ||
376 | - 3rdparty/freetype/src/cache/ftcache.o \ | ||
377 | - 3rdparty/freetype/src/cff/cff.o \ | ||
378 | - 3rdparty/freetype/src/cid/type1cid.o \ | ||
379 | - 3rdparty/freetype/src/psaux/psaux.o \ | ||
380 | - 3rdparty/freetype/src/psnames/psmodule.o \ | ||
381 | - 3rdparty/freetype/src/raster/raster.o \ | ||
382 | - 3rdparty/freetype/src/sfnt/sfnt.o \ | ||
383 | - 3rdparty/freetype/src/smooth/smooth.o \ | ||
384 | - 3rdparty/freetype/src/truetype/truetype.o \ | ||
385 | - 3rdparty/freetype/src/type1/type1.o \ | ||
386 | - 3rdparty/freetype/src/winfonts/winfnt.o \ | ||
387 | - allmoc.o $(QT_MODULE_OBJ) | ||
388 | +OBJECTS =allmoc.o $(QT_MODULE_OBJ) | ||
389 | INTERFACES = | ||
390 | UICDECLS = | ||
391 | UICIMPLS = | ||
392 | diff -ru qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp qt-2.3.5/src/widgets/qcommonstyle.cpp | ||
393 | --- qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp2003-05-13 15:56:12.000000000 +0200 | ||
394 | +++ qt-2.3.5/src/widgets/qcommonstyle.cpp2003-05-13 15:58:19.000000000 +0200 | ||
395 | @@ -566,7 +566,7 @@ | ||
396 | bool enabled, bool active ) | ||
397 | { | ||
398 | #ifndef QT_NO_MENUBAR | ||
399 | -#ifndef QT_NO_STYLE_SGI | ||
400 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
401 | if (draw_menu_bar_impl != 0) { | ||
402 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
403 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
404 | Nur in qt-2.3.5/src/widgets: qcommonstyle.cpp.orig. | ||
405 | diff -ru qt-2.3.5_fresh/src/widgets/qlistview.cpp qt-2.3.5/src/widgets/qlistview.cpp | ||
406 | --- qt-2.3.5_fresh/src/widgets/qlistview.cpp2003-05-13 15:56:12.000000000 +0200 | ||
407 | +++ qt-2.3.5/src/widgets/qlistview.cpp2003-05-13 15:58:18.000000000 +0200 | ||
408 | @@ -4968,9 +4968,9 @@ | ||
409 | l = l->childItem ? l->childItem : l->siblingItem; | ||
410 | |||
411 | if ( l && l->height() ) | ||
412 | -s.setHeight( s.height() + 10 * l->height() ); | ||
413 | - else | ||
414 | -s.setHeight( s.height() + 140 ); | ||
415 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
416 | + else // ^v much too big for handhelds | ||
417 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
418 | |||
419 | if ( s.width() > s.height() * 3 ) | ||
420 | s.setHeight( s.width() / 3 ); | ||
421 | diff -ru qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp qt-2.3.5/src/widgets/qtoolbutton.cpp | ||
422 | --- qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp2003-05-13 15:56:12.000000000 +0200 | ||
423 | +++ qt-2.3.5/src/widgets/qtoolbutton.cpp2003-05-13 15:58:18.000000000 +0200 | ||
424 | @@ -230,7 +230,7 @@ | ||
425 | else | ||
426 | QToolTip::add( this, textLabel ); | ||
427 | } | ||
428 | -#endif | ||
429 | +#endif | ||
430 | } | ||
431 | |||
432 | |||
433 | @@ -324,12 +324,12 @@ | ||
434 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
435 | w = pm.width(); | ||
436 | h = pm.height(); | ||
437 | -if ( w < 32 ) | ||
438 | - w = 32; | ||
439 | -if ( h < 32 ) | ||
440 | - h = 32; | ||
441 | +if ( w < 24 ) | ||
442 | + w = 24; | ||
443 | +if ( h < 24 ) | ||
444 | + h = 24; | ||
445 | } else { | ||
446 | -w = h = 16; | ||
447 | +w = h = 14; | ||
448 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
449 | w = pm.width(); | ||
450 | h = pm.height(); | ||
diff --git a/qt/qt-2.3.7.patch/qte237-adjustsizes.patch b/qt/qt-2.3.7.patch/qte237-adjustsizes.patch deleted file mode 100644 index ac1e31a..0000000 --- a/qt/qt-2.3.7.patch/qte237-adjustsizes.patch +++ b/dev/null | |||
@@ -1,64 +0,0 @@ | |||
1 | Qt was not created for 240x320 and we adjust some default values to be more | ||
2 | sane for the usage on handhelds | ||
3 | |||
4 | |||
5 | |||
6 | |||
7 | diff -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); | ||
19 | diff -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 ); | ||
35 | diff -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 @@ | |||
1 | Binary files qt-2.3.7/bin/moc and qte-2.3.7/bin/moc differ | ||
2 | Binary files qt-2.3.7/bin/uic and qte-2.3.7/bin/uic differ | ||
3 | diff -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= | ||
105 | diff -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 | |||
163 | diff -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 | ||
267 | diff -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 | ||
370 | diff -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, | ||
402 | diff -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 | ||
462 | diff -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 | ||
484 | Binary files qt-2.3.7/lib/libqte.dylib and qte-2.3.7/lib/libqte.dylib differ | ||
485 | Binary files qt-2.3.7/lib/libqte.dylib.2 and qte-2.3.7/lib/libqte.dylib.2 differ | ||
486 | Binary files qt-2.3.7/lib/libqte.dylib.2.3 and qte-2.3.7/lib/libqte.dylib.2.3 differ | ||
487 | Binary files qt-2.3.7/lib/libqte.dylib.2.3.7 and qte-2.3.7/lib/libqte.dylib.2.3.7 differ | ||
488 | diff -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; | ||
573 | diff -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 | |||
631 | diff -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; | ||
646 | diff -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 | { | ||
672 | diff -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, | ||
704 | diff -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> | ||
716 | diff -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 | |||
777 | diff -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); | ||
847 | diff -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 | + | ||
885 | diff -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 */ | ||
897 | diff -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 ) | ||
936 | diff -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; | ||
957 | Binary files qt-2.3.7/src/moc/moc and qte-2.3.7/src/moc/moc differ | ||
958 | diff -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++ ) { | ||
970 | diff -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 | ||
1074 | diff -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 | ||
1177 | diff -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 | ||
1199 | diff -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); | ||
1211 | diff -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 ); | ||
1227 | diff -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(); | ||
1257 | diff -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 | |||
3 | Included patches: | ||
4 | |||
5 | qte237-allowoverride.patch | ||
6 | qte237-g++-aslinker.patch | ||
7 | qte237-iconviewspeed.patch | ||
8 | qte237-adjustsizes.patch | ||
9 | qte237-encoding.patch | ||
10 | qte237-keyboard.patch | ||
11 | qte237-gcc34.patch | ||
12 | qte237-lefthand.patch | ||
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | |||
22 | diff -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 | |||
34 | diff -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 | |||
46 | diff -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 | |||
58 | diff -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 | |||
70 | diff -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 | |||
82 | diff -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 | |||
94 | diff -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 | |||
106 | diff -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 | |||
118 | diff -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 | |||
130 | diff -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 | |||
142 | diff -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 | |||
154 | diff -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 | |||
166 | diff -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 | |||
224 | diff -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 | ||
236 | diff -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, | ||
268 | diff -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_ | ||
288 | diff -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 ); | ||
299 | diff -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 | |||
311 | diff -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 | |||
332 | diff -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 | |||
440 | diff -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 ); | ||
451 | diff -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 ) { | ||
536 | diff -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 | |||
594 | diff -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; | ||
609 | diff -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 ); | ||
635 | diff -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, | ||
667 | diff -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 | |||
874 | diff -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 | } | ||
996 | diff -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 | ||
1008 | diff -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; | ||
1038 | diff -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 | ||
1050 | diff -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_ | ||
1070 | diff -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 | ||
1091 | diff -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 | |||
1103 | diff -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 | } | ||
1133 | diff -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 | |||
1154 | diff -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); | ||
1166 | diff -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 ); | ||
1182 | diff -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 | { | ||
1318 | diff -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(); | ||
1348 | diff -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 | } | ||
1452 | diff -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 @@ | |||
1 | Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used | ||
2 | to be multiplied with 10, some apps get confused by that and | ||
3 | in Opie we allow to work around for specefic application | ||
4 | |||
5 | Courtsey to Robert 'sandman' Griebl | ||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
13 | |||
14 | diff -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 ) { | ||
99 | diff -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 | |||
157 | diff -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; | ||
172 | diff -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 ); | ||
198 | diff -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 @@ | |||
1 | German umlaute quite likely french, italian, spanish did | ||
2 | not work due QFile::[decode,encode]Name did call QString | ||
3 | local8Bit,fromLocal8Bit which plainly tried to use utf8 | ||
4 | encoding even if not useful. So a filename got changed | ||
5 | and QFileInfo recognized the file not beeing present anymore... | ||
6 | which lead to files not be shown. | ||
7 | Also with Year-Names problem exists as the base system sent | ||
8 | it encoded upstream. | ||
9 | |||
10 | If you want to have UTF-8 encoding use LC_CTYPE as always and | ||
11 | QTextCodec::codecForLocale will use the right UTF-8 encoding. | ||
12 | |||
13 | As 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 @@ | |||
1 | GCC3 requires libstdc++ for virtual all C++ application | ||
2 | linking with gcc would trigger unresolved symbols like | ||
3 | new, delete, pure_virtual etc. | ||
4 | |||
5 | This is the safe one which works with gcc2 and gcc3. If you do | ||
6 | not want the stdc++ dependency link with gcc and add -lsupc++ to the | ||
7 | library dependency | ||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | diff -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 | |||
30 | diff -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 | |||
42 | diff -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 | |||
54 | diff -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 | |||
66 | diff -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 | |||
78 | diff -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 | |||
90 | diff -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 | |||
102 | diff -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 | |||
114 | diff -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 | |||
126 | diff -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 | |||
138 | diff -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 | |||
150 | diff -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 @@ | |||
1 | diff -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 | |||
208 | diff -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 | } | ||
330 | diff -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 | } | ||
434 | diff -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 | ||
446 | diff -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_ | ||
466 | diff -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 | |||
478 | diff -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 | |||
499 | diff -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 @@ | |||
1 | Not included in the ALL patch | ||
2 | |||
3 | |||
4 | --- qt-2.3.7-old/src/kernel/qgfxraster_qws.cpp2004-07-23 15:22:56.000000000 +0200 | ||
5 | +++ qt-2.3.7/src/kernel/qgfxraster_qws.cpp2004-07-23 15:29:16.000000000 +0200 | ||
6 | @@ -4237,7 +4237,7 @@ | ||
7 | setAlphaType(IgnoreAlpha); | ||
8 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
9 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
10 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
11 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
12 | // ### fix for 8bpp | ||
13 | // This seems to be reliable now, at least for 16bpp | ||
14 | |||
diff --git a/qt/qt-2.3.7.patch/qte237-keyboard.patch b/qt/qt-2.3.7.patch/qte237-keyboard.patch deleted file mode 100644 index b644fd7..0000000 --- a/qt/qt-2.3.7.patch/qte237-keyboard.patch +++ b/dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | Free 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 @@ | |||
1 | Backport of the LeftHand patch from Qt2.3.8 | ||
2 | |||
3 | Puts Scrollbar on the left for people using the right hand | ||
4 | to hold the devices | ||
5 | |||
6 | |||
7 | |||
8 | diff -u qt-2.3.7_orig/src/widgets/qscrollview.cpp qt-2.3.7/src/widgets/qscrollview.cpp | ||
9 | --- qt-2.3.7_orig/src/widgets/qscrollview.cpp2004-06-13 20:42:54.000000000 +0200 | ||
10 | +++ qt-2.3.7/src/widgets/qscrollview.cpp2004-06-13 20:45:16.000000000 +0200 | ||
11 | @@ -526,15 +526,16 @@ | ||
12 | this, SLOT( doDragAutoScroll() ) ); | ||
13 | #endif | ||
14 | |||
15 | - connect( &d->hbar, SIGNAL( valueChanged( int ) ), | ||
16 | -this, SLOT( hslide( int ) ) ); | ||
17 | - connect( &d->vbar, SIGNAL( valueChanged( int ) ), | ||
18 | -this, SLOT( vslide( int ) ) ); | ||
19 | + connect( &d->hbar, SIGNAL( valueChanged(int) ), | ||
20 | +this, SLOT( hslide(int) ) ); | ||
21 | + connect( &d->vbar, SIGNAL( valueChanged(int) ), | ||
22 | +this, SLOT( vslide(int) ) ); | ||
23 | d->viewport.installEventFilter( this ); | ||
24 | |||
25 | setFrameStyle( QFrame::StyledPanel | QFrame::Sunken ); | ||
26 | setLineWidth( style().defaultFrameWidth() ); | ||
27 | setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) ); | ||
28 | + | ||
29 | } | ||
30 | |||
31 | |||
32 | @@ -683,6 +684,11 @@ | ||
33 | h-tmarg-bmarg - (showh ? hsbExt : 0) ); | ||
34 | } | ||
35 | |||
36 | +/* | ||
37 | + The surrounding environment (or application, if there is no | ||
38 | + environment, may set this. Requires Qt >= 2.3.8. | ||
39 | +*/ | ||
40 | +bool qt_left_hand_scrollbars = FALSE; | ||
41 | |||
42 | /*! | ||
43 | Updates scrollbars - all possibilities considered. You should never | ||
44 | @@ -786,45 +792,50 @@ | ||
45 | |||
46 | // Position the scrollbars, viewport, and corner widget. | ||
47 | int bottom; | ||
48 | + int xoffset = ( qt_left_hand_scrollbars && ( showv || cornerWidget() ) ) ? vsbExt : 0; | ||
49 | + int xpos = qt_left_hand_scrollbars ? 0 : w-vsbExt; | ||
50 | + xpos = (style() == WindowsStyle) && qt_left_hand_scrollbars ? xpos + fw : xpos - fw; | ||
51 | + int ypos = tmarg; | ||
52 | + ypos = (style() == WindowsStyle) ? ypos +fw : 0; | ||
53 | if ( showh ) { | ||
54 | int right = ( showv || cornerWidget() ) ? w-vsbExt : w; | ||
55 | if ( style() == WindowsStyle ) | ||
56 | - setHBarGeometry(d->hbar, fw, h-hsbExt-fw, | ||
57 | + setHBarGeometry(d->hbar, fw + xoffset , h-hsbExt-fw, | ||
58 | right-fw-fw, hsbExt ); | ||
59 | else | ||
60 | - setHBarGeometry(d->hbar, 0, h-hsbExt, right, | ||
61 | + setHBarGeometry(d->hbar, 0+ xoffset, h-hsbExt, right, | ||
62 | hsbExt ); | ||
63 | bottom=h-hsbExt; | ||
64 | } else { | ||
65 | bottom=h; | ||
66 | } | ||
67 | if ( showv ) { | ||
68 | -clipper()->setGeometry( lmarg, tmarg, | ||
69 | +clipper()->setGeometry( lmarg + xoffset, tmarg, | ||
70 | w-vsbExt-lmarg-rmarg, | ||
71 | bottom-tmarg-bmarg ); | ||
72 | d->viewportResized( w-vsbExt-lmarg-rmarg, bottom-tmarg-bmarg ); | ||
73 | if ( style() == WindowsStyle ) | ||
74 | - changeFrameRect(QRect(0, 0, w, h) ); | ||
75 | + changeFrameRect(QRect(xoffset, 0, w, h) ); | ||
76 | else | ||
77 | - changeFrameRect(QRect(0, 0, w-vsbExt, bottom)); | ||
78 | + changeFrameRect(QRect(xoffset, 0, w-vsbExt, bottom)); | ||
79 | if (cornerWidget()) { | ||
80 | if ( style() == WindowsStyle ) | ||
81 | - setVBarGeometry( d->vbar, w-vsbExt-fw, | ||
82 | - fw, vsbExt, | ||
83 | - h-hsbExt-fw-fw ); | ||
84 | + setVBarGeometry( d->vbar, xpos, | ||
85 | + ypos, vsbExt, | ||
86 | + bottom-fw-ypos ); | ||
87 | else | ||
88 | - setVBarGeometry( d->vbar, w-vsbExt, 0, | ||
89 | + setVBarGeometry( d->vbar, xpos, ypos, | ||
90 | vsbExt, | ||
91 | - h-hsbExt ); | ||
92 | + bottom-ypos ); | ||
93 | } | ||
94 | else { | ||
95 | if ( style() == WindowsStyle ) | ||
96 | - setVBarGeometry( d->vbar, w-vsbExt-fw, | ||
97 | - fw, vsbExt, | ||
98 | - bottom-fw-fw ); | ||
99 | + setVBarGeometry( d->vbar, xpos, | ||
100 | + ypos, vsbExt, | ||
101 | + bottom-fw-ypos ); | ||
102 | else | ||
103 | - setVBarGeometry( d->vbar, w-vsbExt, 0, | ||
104 | - vsbExt, bottom ); | ||
105 | + setVBarGeometry( d->vbar, xpos, ypos, | ||
106 | + vsbExt, bottom-ypos ); | ||
107 | } | ||
108 | } else { | ||
109 | if ( style() == WindowsStyle ) | ||
110 | @@ -837,12 +848,12 @@ | ||
111 | } | ||
112 | if ( d->corner ) { | ||
113 | if ( style() == WindowsStyle ) | ||
114 | - d->corner->setGeometry( w-vsbExt-fw, | ||
115 | + d->corner->setGeometry( xpos, | ||
116 | h-hsbExt-fw, | ||
117 | vsbExt, | ||
118 | hsbExt ); | ||
119 | else | ||
120 | - d->corner->setGeometry( w-vsbExt, | ||
121 | + d->corner->setGeometry( xpos, | ||
122 | h-hsbExt, | ||
123 | vsbExt, | ||
124 | hsbExt ); | ||
125 | @@ -1675,7 +1686,7 @@ | ||
126 | } | ||
127 | |||
128 | /*! | ||
129 | - Scrolls the content by \a x to the left and \a y upwards. | ||
130 | + Scrolls the content by \a dx to the left and \a dy upwards. | ||
131 | */ | ||
132 | void QScrollView::scrollBy( int dx, int dy ) | ||
133 | { | ||
diff --git a/qt/qt-2.3.8.patch/qte238-adjustsizes.patch b/qt/qt-2.3.8.patch/qte238-adjustsizes.patch deleted file mode 100644 index b2a7f7e..0000000 --- a/qt/qt-2.3.8.patch/qte238-adjustsizes.patch +++ b/dev/null | |||
@@ -1,64 +0,0 @@ | |||
1 | Qt was not created for 240x320 and we adjust some default values to be more | ||
2 | sane for the usage on handhelds | ||
3 | |||
4 | |||
5 | diff -ur qt-2.3.8-old/src/widgets/qcommonstyle.cpp qt-2.3.8/src/widgets/qcommonstyle.cpp | ||
6 | --- qt-2.3.8-old/src/widgets/qcommonstyle.cpp2004-07-22 01:07:44.000000000 +0200 | ||
7 | +++ qt-2.3.8/src/widgets/qcommonstyle.cpp2004-07-23 16:15:16.000000000 +0200 | ||
8 | @@ -566,7 +566,7 @@ | ||
9 | bool enabled, bool active ) | ||
10 | { | ||
11 | #ifndef QT_NO_MENUBAR | ||
12 | -#ifndef QT_NO_STYLE_SGI | ||
13 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
14 | if (draw_menu_bar_impl != 0) { | ||
15 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
16 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
17 | diff -ur qt-2.3.8-old/src/widgets/qlistview.cpp qt-2.3.8/src/widgets/qlistview.cpp | ||
18 | --- qt-2.3.8-old/src/widgets/qlistview.cpp2004-07-22 01:07:44.000000000 +0200 | ||
19 | +++ qt-2.3.8/src/widgets/qlistview.cpp2004-07-23 16:15:16.000000000 +0200 | ||
20 | @@ -5054,9 +5054,9 @@ | ||
21 | l = l->childItem ? l->childItem : l->siblingItem; | ||
22 | |||
23 | if ( l && l->height() ) | ||
24 | -s.setHeight( s.height() + 10 * l->height() ); | ||
25 | - else | ||
26 | -s.setHeight( s.height() + 140 ); | ||
27 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
28 | + else // ^v much too big for handhelds | ||
29 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
30 | |||
31 | if ( s.width() > s.height() * 3 ) | ||
32 | s.setHeight( s.width() / 3 ); | ||
33 | Nur in qt-2.3.8/src/widgets/: qlistview.cpp.orig. | ||
34 | diff -ur qt-2.3.8-old/src/widgets/qtoolbutton.cpp qt-2.3.8/src/widgets/qtoolbutton.cpp | ||
35 | --- qt-2.3.8-old/src/widgets/qtoolbutton.cpp2004-07-22 01:07:44.000000000 +0200 | ||
36 | +++ qt-2.3.8/src/widgets/qtoolbutton.cpp2004-07-23 16:15:16.000000000 +0200 | ||
37 | @@ -232,7 +232,7 @@ | ||
38 | else | ||
39 | QToolTip::add( this, textLabel ); | ||
40 | } | ||
41 | -#endif | ||
42 | +#endif | ||
43 | } | ||
44 | |||
45 | |||
46 | @@ -326,12 +326,12 @@ | ||
47 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
48 | w = pm.width(); | ||
49 | h = pm.height(); | ||
50 | -if ( w < 32 ) | ||
51 | - w = 32; | ||
52 | -if ( h < 32 ) | ||
53 | - h = 32; | ||
54 | +if ( w < 24 ) | ||
55 | + w = 24; | ||
56 | +if ( h < 24 ) | ||
57 | + h = 24; | ||
58 | } else { | ||
59 | -w = h = 16; | ||
60 | +w = h = 14; | ||
61 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
62 | w = pm.width(); | ||
63 | h = pm.height(); | ||
64 | Nur in qt-2.3.8/src/widgets/: qtoolbutton.cpp.orig. | ||
diff --git a/qt/qt-2.3.8.patch/qte238-all.patch b/qt/qt-2.3.8.patch/qte238-all.patch deleted file mode 100644 index 3266f78..0000000 --- a/qt/qt-2.3.8.patch/qte238-all.patch +++ b/dev/null | |||
@@ -1,1059 +0,0 @@ | |||
1 | diff -ur qt-2.3.8-old/include/qapplication.h qt-2.3.8/include/qapplication.h | ||
2 | --- qt-2.3.8-old/include/qapplication.h2004-07-22 01:07:45.000000000 +0200 | ||
3 | +++ qt-2.3.8/include/qapplication.h2004-07-23 19:08:46.000000000 +0200 | ||
4 | @@ -61,6 +61,10 @@ | ||
5 | class QSemaphore; | ||
6 | #endif | ||
7 | |||
8 | +#if !defined( QT_WEAK_SYMBOL ) | ||
9 | +#define QT_WEAK_SYMBOL | ||
10 | +#endif | ||
11 | + | ||
12 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
13 | #define QNonBaseApplication QApplication | ||
14 | |||
15 | @@ -85,7 +89,10 @@ | ||
16 | |||
17 | #ifndef QT_NO_STYLE | ||
18 | static QStyle &style(); | ||
19 | - static void setStyle( QStyle* ); | ||
20 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
21 | +private: | ||
22 | +static void setStyle_NonWeak( QStyle* ); | ||
23 | +public: | ||
24 | #endif | ||
25 | #if 1/* OBSOLETE */ | ||
26 | enum ColorMode { NormalColors, CustomColors }; | ||
27 | @@ -106,11 +113,19 @@ | ||
28 | #ifndef QT_NO_PALETTE | ||
29 | static QPalette palette( const QWidget* = 0 ); | ||
30 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
31 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
32 | +private: | ||
33 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
34 | const char* className = 0 ); | ||
35 | +public: | ||
36 | #endif | ||
37 | static QFont font( const QWidget* = 0 ); | ||
38 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
39 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
40 | +private: | ||
41 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
42 | const char* className = 0 ); | ||
43 | +public: | ||
44 | static QFontMetrics fontMetrics(); | ||
45 | |||
46 | QWidget *mainWidget() const; | ||
47 | @@ -207,7 +222,10 @@ | ||
48 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
49 | #ifndef QT_NO_QWS_MANAGER | ||
50 | static QWSDecoration &qwsDecoration(); | ||
51 | - static void qwsSetDecoration( QWSDecoration *); | ||
52 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
53 | +private: | ||
54 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
55 | +public: | ||
56 | #endif | ||
57 | #endif | ||
58 | |||
59 | diff -ur qt-2.3.8-old/include/qcstring.h qt-2.3.8/include/qcstring.h | ||
60 | --- qt-2.3.8-old/include/qcstring.h2004-07-22 01:07:46.000000000 +0200 | ||
61 | +++ qt-2.3.8/include/qcstring.h2004-07-23 19:09:55.000000000 +0200 | ||
62 | @@ -119,7 +119,7 @@ | ||
63 | // We want to keep source compatibility for 2.x | ||
64 | // ### TODO for 4.0: completely remove these and the cstr* functions | ||
65 | |||
66 | -#if !defined(QT_GENUINE_STR) | ||
67 | +#if 0 | ||
68 | |||
69 | #undefstrlen | ||
70 | #define strlen qstrlen | ||
71 | diff -ur qt-2.3.8-old/include/qfontdatabase.h qt-2.3.8/include/qfontdatabase.h | ||
72 | --- qt-2.3.8-old/include/qfontdatabase.h2004-07-22 01:07:45.000000000 +0200 | ||
73 | +++ qt-2.3.8/include/qfontdatabase.h2004-07-23 19:08:46.000000000 +0200 | ||
74 | @@ -59,6 +59,10 @@ | ||
75 | class QDiskFont; | ||
76 | #endif | ||
77 | |||
78 | +#if !defined( QT_WEAK_SYMBOL ) | ||
79 | +#define QT_WEAK_SYMBOL | ||
80 | +#endif | ||
81 | + | ||
82 | class QFontDatabasePrivate; | ||
83 | |||
84 | class Q_EXPORT QFontDatabase | ||
85 | @@ -67,9 +71,16 @@ | ||
86 | QFontDatabase(); | ||
87 | |||
88 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
89 | + | ||
90 | + | ||
91 | QValueList<int> pointSizes( const QString &family, | ||
92 | const QString &style = QString::null, | ||
93 | - const QString &charSet = QString::null ); | ||
94 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
95 | +private: | ||
96 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
97 | + const QString &style, | ||
98 | + const QString &charSet ); | ||
99 | +public: | ||
100 | QStringList styles( const QString &family, | ||
101 | const QString &charSet = QString::null ) const; | ||
102 | QStringList charSets( const QString &familyName, | ||
103 | diff -ur qt-2.3.8-old/include/qglobal.h qt-2.3.8/include/qglobal.h | ||
104 | --- qt-2.3.8-old/include/qglobal.h2004-07-22 01:07:46.000000000 +0200 | ||
105 | +++ qt-2.3.8/include/qglobal.h2004-07-23 19:09:55.000000000 +0200 | ||
106 | @@ -207,8 +207,16 @@ | ||
107 | #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 | ||
108 | #define Q_FP_CCAST_BROKEN | ||
109 | #endif | ||
110 | +/* ARM gcc pads structs to 32 bits, even when they contain a single | ||
111 | + char, or short. We tell gcc to pack QChars to 16 bits, to avoid | ||
112 | + QString bloat. However, gcc 3.4 doesn't allow us to create references to | ||
113 | + members of a packed struct. (Pointers are OK, because then you | ||
114 | + supposedly know what you are doing.) */ | ||
115 | #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | ||
116 | #define Q_PACKED __attribute__ ((packed)) | ||
117 | +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 | ||
118 | +# define Q_NO_PACKED_REFERENCE | ||
119 | +# endif | ||
120 | #endif | ||
121 | #elif defined(__xlC__) | ||
122 | #define _CC_XLC_ | ||
123 | diff -ur qt-2.3.8-old/include/qiconview.h qt-2.3.8/include/qiconview.h | ||
124 | --- qt-2.3.8-old/include/qiconview.h2004-07-22 01:07:46.000000000 +0200 | ||
125 | +++ qt-2.3.8/include/qiconview.h2004-07-23 19:13:09.000000000 +0200 | ||
126 | @@ -444,6 +444,7 @@ | ||
127 | virtual void contentsDropEvent( QDropEvent *e ); | ||
128 | #endif | ||
129 | |||
130 | + void bufferedPaintEvent( QPaintEvent* ); | ||
131 | virtual void resizeEvent( QResizeEvent* e ); | ||
132 | virtual void keyPressEvent( QKeyEvent *e ); | ||
133 | virtual void focusInEvent( QFocusEvent *e ); | ||
134 | diff -ur qt-2.3.8-old/include/qsortedlist.h qt-2.3.8/include/qsortedlist.h | ||
135 | --- qt-2.3.8-old/include/qsortedlist.h2004-07-22 01:07:46.000000000 +0200 | ||
136 | +++ qt-2.3.8/include/qsortedlist.h2004-07-23 19:09:55.000000000 +0200 | ||
137 | @@ -48,7 +48,7 @@ | ||
138 | public: | ||
139 | QSortedList() {} | ||
140 | QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} | ||
141 | - ~QSortedList() { clear(); } | ||
142 | + ~QSortedList() { this->clear(); } | ||
143 | QSortedList<type> &operator=(const QSortedList<type> &l) | ||
144 | { return (QSortedList<type>&)QList<type>::operator=(l); } | ||
145 | |||
146 | diff -ur qt-2.3.8-old/include/qstring.h qt-2.3.8/include/qstring.h | ||
147 | --- qt-2.3.8-old/include/qstring.h2004-07-22 01:07:46.000000000 +0200 | ||
148 | +++ qt-2.3.8/include/qstring.h2004-07-23 19:09:55.000000000 +0200 | ||
149 | @@ -163,8 +163,16 @@ | ||
150 | bool isLetterOrNumber() const; | ||
151 | bool isDigit() const; | ||
152 | |||
153 | + | ||
154 | +#ifdef Q_NO_PACKED_REFERENCE | ||
155 | + uchar& cell() { return *(&cl); } | ||
156 | + uchar& row() { return *(&rw); } | ||
157 | +#else | ||
158 | uchar& cell() { return cl; } | ||
159 | - uchar& row() { return rw; } | ||
160 | + uchar& row() { return rw; } | ||
161 | +#endif | ||
162 | + | ||
163 | + | ||
164 | uchar cell() const { return cl; } | ||
165 | uchar row() const { return rw; } | ||
166 | |||
167 | diff -ur qt-2.3.8-old/src/iconview/qiconview.cpp qt-2.3.8/src/iconview/qiconview.cpp | ||
168 | --- qt-2.3.8-old/src/iconview/qiconview.cpp2004-07-22 01:07:46.000000000 +0200 | ||
169 | +++ qt-2.3.8/src/iconview/qiconview.cpp2004-07-23 19:13:09.000000000 +0200 | ||
170 | @@ -224,6 +224,7 @@ | ||
171 | QIconView::SelectionMode selectionMode; | ||
172 | QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; | ||
173 | QRect *rubber; | ||
174 | + QPixmap *backBuffer; | ||
175 | QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, | ||
176 | *fullRedrawTimer; | ||
177 | int rastX, rastY, spacing; | ||
178 | @@ -2267,6 +2268,7 @@ | ||
179 | d->currentItem = 0; | ||
180 | d->highlightedItem = 0; | ||
181 | d->rubber = 0; | ||
182 | + d->backBuffer = 0; | ||
183 | d->scrollTimer = 0; | ||
184 | d->startDragItem = 0; | ||
185 | d->tmpCurrentItem = 0; | ||
186 | @@ -2415,6 +2417,8 @@ | ||
187 | delete item; | ||
188 | item = tmp; | ||
189 | } | ||
190 | + delete d->backBuffer; | ||
191 | + d->backBuffer = 0; | ||
192 | delete d->fm; | ||
193 | d->fm = 0; | ||
194 | #ifndef QT_NO_TOOLTIP | ||
195 | @@ -2881,6 +2885,48 @@ | ||
196 | } | ||
197 | |||
198 | /*! | ||
199 | + This function grabs all paintevents that otherwise would have been | ||
200 | + processed by the QScrollView::viewportPaintEvent(). Here we use a | ||
201 | + doublebuffer to reduce 'on-paint' flickering on QIconView | ||
202 | + (and of course its childs). | ||
203 | + | ||
204 | + \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() | ||
205 | +*/ | ||
206 | + | ||
207 | +void QIconView::bufferedPaintEvent( QPaintEvent* pe ) | ||
208 | +{ | ||
209 | + QWidget* vp = viewport(); | ||
210 | + QRect r = pe->rect() & vp->rect(); | ||
211 | + int ex = r.x() + contentsX(); | ||
212 | + int ey = r.y() + contentsY(); | ||
213 | + int ew = r.width(); | ||
214 | + int eh = r.height(); | ||
215 | + | ||
216 | + if ( !d->backBuffer ) | ||
217 | +d->backBuffer = new QPixmap(vp->size()); | ||
218 | + if ( d->backBuffer->size() != vp->size() ) { | ||
219 | +//Resize function (with hysteesis). Uses a good compromise between memory | ||
220 | +//consumption and speed (number) of resizes. | ||
221 | + float newWidth = (float)vp->width(); | ||
222 | +float newHeight = (float)vp->height(); | ||
223 | +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) | ||
224 | +{ | ||
225 | + newWidth *= 1.1892; | ||
226 | + newHeight *= 1.1892; | ||
227 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | ||
228 | +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) | ||
229 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | ||
230 | + } | ||
231 | + | ||
232 | + QPainter p; | ||
233 | + p.begin(d->backBuffer, vp); | ||
234 | + drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); | ||
235 | + p.end(); | ||
236 | + bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); | ||
237 | +} | ||
238 | + | ||
239 | +/*! | ||
240 | + | ||
241 | \reimp | ||
242 | */ | ||
243 | |||
244 | @@ -4937,7 +4983,7 @@ | ||
245 | if ( !d->rubber ) | ||
246 | drawDragShapes( d->oldDragPos ); | ||
247 | } | ||
248 | - viewportPaintEvent( (QPaintEvent*)e ); | ||
249 | + bufferedPaintEvent ((QPaintEvent*)e ); | ||
250 | if ( d->dragging ) { | ||
251 | if ( !d->rubber ) | ||
252 | drawDragShapes( d->oldDragPos ); | ||
253 | @@ -5374,11 +5420,19 @@ | ||
254 | return; | ||
255 | |||
256 | if ( item->d->container1 && d->firstContainer ) { | ||
257 | -item->d->container1->items.removeRef( item ); | ||
258 | + //Special-case checking of the last item, since this may be | ||
259 | + //called a few times for the same item. | ||
260 | + if (item->d->container1->items.last() == item) | ||
261 | + item->d->container1->items.removeLast(); | ||
262 | + else | ||
263 | + item->d->container1->items.removeRef( item ); | ||
264 | } | ||
265 | item->d->container1 = 0; | ||
266 | if ( item->d->container2 && d->firstContainer ) { | ||
267 | -item->d->container2->items.removeRef( item ); | ||
268 | + if (item->d->container2->items.last() == item) | ||
269 | + item->d->container2->items.removeLast(); | ||
270 | + else | ||
271 | + item->d->container2->items.removeRef( item ); | ||
272 | } | ||
273 | item->d->container2 = 0; | ||
274 | |||
275 | Nur in qt-2.3.8/src/iconview: qiconview.cpp.orig. | ||
276 | Nur in qt-2.3.8/src/iconview: qiconview.cpp.rej. | ||
277 | diff -ur qt-2.3.8-old/src/iconview/qiconview.h qt-2.3.8/src/iconview/qiconview.h | ||
278 | --- qt-2.3.8-old/src/iconview/qiconview.h2004-07-22 01:07:46.000000000 +0200 | ||
279 | +++ qt-2.3.8/src/iconview/qiconview.h2004-07-23 19:13:09.000000000 +0200 | ||
280 | @@ -444,6 +444,7 @@ | ||
281 | virtual void contentsDropEvent( QDropEvent *e ); | ||
282 | #endif | ||
283 | |||
284 | + void bufferedPaintEvent( QPaintEvent* ); | ||
285 | virtual void resizeEvent( QResizeEvent* e ); | ||
286 | virtual void keyPressEvent( QKeyEvent *e ); | ||
287 | virtual void focusInEvent( QFocusEvent *e ); | ||
288 | diff -ur qt-2.3.8-old/src/kernel/qapplication.cpp qt-2.3.8/src/kernel/qapplication.cpp | ||
289 | --- qt-2.3.8-old/src/kernel/qapplication.cpp2004-07-22 01:07:46.000000000 +0200 | ||
290 | +++ qt-2.3.8/src/kernel/qapplication.cpp2004-07-23 19:08:46.000000000 +0200 | ||
291 | @@ -35,6 +35,8 @@ | ||
292 | ** | ||
293 | **********************************************************************/ | ||
294 | |||
295 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
296 | + | ||
297 | #include "qobjectlist.h" | ||
298 | #include "qobjectdict.h" | ||
299 | #include "qapplication.h" | ||
300 | @@ -936,11 +938,16 @@ | ||
301 | #ifndef QT_NO_STYLE | ||
302 | void QApplication::setStyle( QStyle *style ) | ||
303 | { | ||
304 | +setStyle_NonWeak ( style ); | ||
305 | +} | ||
306 | + | ||
307 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
308 | +{ | ||
309 | QStyle* old = app_style; | ||
310 | - app_style = style; | ||
311 | |||
312 | if ( startingUp() ) { | ||
313 | delete old; | ||
314 | +app_style = style; | ||
315 | return; | ||
316 | } | ||
317 | |||
318 | @@ -961,6 +968,8 @@ | ||
319 | old->unPolish( qApp ); | ||
320 | } | ||
321 | |||
322 | + app_style = style; | ||
323 | + | ||
324 | // take care of possible palette requirements of certain gui | ||
325 | // styles. Do it before polishing the application since the style | ||
326 | // might call QApplication::setStyle() itself | ||
327 | @@ -1187,13 +1196,30 @@ | ||
328 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
329 | */ | ||
330 | |||
331 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
332 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
333 | + const char* className ) | ||
334 | +{ | ||
335 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
336 | +} | ||
337 | + | ||
338 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
339 | const char* className ) | ||
340 | { | ||
341 | QPalette pal = palette; | ||
342 | #ifndef QT_NO_STYLE | ||
343 | - if ( !startingUp() ) | ||
344 | + if ( !startingUp() ) { | ||
345 | qApp->style().polish( pal );// NB: non-const reference | ||
346 | +if ( className ) { | ||
347 | + // if we just polished a class specific palette (this normally | ||
348 | + // only called by qt_fix_tooltips - see below), we better re- | ||
349 | + // polish the global palette. Some styles like liquid can get | ||
350 | + // confused, because they can not detect if the polished palette | ||
351 | + // is the global one or only a class specific one. | ||
352 | + // (liquid uses this palette to calculate blending pixmaps) | ||
353 | + QPalette p = qApp-> palette ( ); | ||
354 | + qApp->style().polish ( p ); | ||
355 | +} | ||
356 | + } | ||
357 | #endif | ||
358 | bool all = FALSE; | ||
359 | if ( !className ) { | ||
360 | @@ -1278,6 +1304,12 @@ | ||
361 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
362 | const char* className ) | ||
363 | { | ||
364 | +setFont_NonWeak ( font, informWidgets, className ); | ||
365 | +} | ||
366 | + | ||
367 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
368 | + const char* className ) | ||
369 | +{ | ||
370 | bool all = FALSE; | ||
371 | if ( !className ) { | ||
372 | if ( !app_font ) { | ||
373 | Nur in qt-2.3.8/src/kernel: qapplication.cpp.orig. | ||
374 | diff -ur qt-2.3.8-old/src/kernel/qapplication.h qt-2.3.8/src/kernel/qapplication.h | ||
375 | --- qt-2.3.8-old/src/kernel/qapplication.h2004-07-22 01:07:45.000000000 +0200 | ||
376 | +++ qt-2.3.8/src/kernel/qapplication.h2004-07-23 19:08:46.000000000 +0200 | ||
377 | @@ -61,6 +61,10 @@ | ||
378 | class QSemaphore; | ||
379 | #endif | ||
380 | |||
381 | +#if !defined( QT_WEAK_SYMBOL ) | ||
382 | +#define QT_WEAK_SYMBOL | ||
383 | +#endif | ||
384 | + | ||
385 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
386 | #define QNonBaseApplication QApplication | ||
387 | |||
388 | @@ -85,7 +89,10 @@ | ||
389 | |||
390 | #ifndef QT_NO_STYLE | ||
391 | static QStyle &style(); | ||
392 | - static void setStyle( QStyle* ); | ||
393 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
394 | +private: | ||
395 | +static void setStyle_NonWeak( QStyle* ); | ||
396 | +public: | ||
397 | #endif | ||
398 | #if 1/* OBSOLETE */ | ||
399 | enum ColorMode { NormalColors, CustomColors }; | ||
400 | @@ -106,11 +113,19 @@ | ||
401 | #ifndef QT_NO_PALETTE | ||
402 | static QPalette palette( const QWidget* = 0 ); | ||
403 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
404 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
405 | +private: | ||
406 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
407 | const char* className = 0 ); | ||
408 | +public: | ||
409 | #endif | ||
410 | static QFont font( const QWidget* = 0 ); | ||
411 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
412 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
413 | +private: | ||
414 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
415 | const char* className = 0 ); | ||
416 | +public: | ||
417 | static QFontMetrics fontMetrics(); | ||
418 | |||
419 | QWidget *mainWidget() const; | ||
420 | @@ -207,7 +222,10 @@ | ||
421 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
422 | #ifndef QT_NO_QWS_MANAGER | ||
423 | static QWSDecoration &qwsDecoration(); | ||
424 | - static void qwsSetDecoration( QWSDecoration *); | ||
425 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
426 | +private: | ||
427 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
428 | +public: | ||
429 | #endif | ||
430 | #endif | ||
431 | |||
432 | diff -ur qt-2.3.8-old/src/kernel/qapplication_qws.cpp qt-2.3.8/src/kernel/qapplication_qws.cpp | ||
433 | --- qt-2.3.8-old/src/kernel/qapplication_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
434 | +++ qt-2.3.8/src/kernel/qapplication_qws.cpp2004-07-23 19:08:46.000000000 +0200 | ||
435 | @@ -2896,6 +2896,11 @@ | ||
436 | */ | ||
437 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
438 | { | ||
439 | +qwsSetDecoration_NonWeak ( d ); | ||
440 | +} | ||
441 | + | ||
442 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
443 | +{ | ||
444 | if ( d ) { | ||
445 | delete qws_decoration; | ||
446 | qws_decoration = d; | ||
447 | Nur in qt-2.3.8/src/kernel: qapplication_qws.cpp.orig. | ||
448 | diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.cpp qt-2.3.8/src/kernel/qfontdatabase.cpp | ||
449 | --- qt-2.3.8-old/src/kernel/qfontdatabase.cpp2004-07-22 01:07:45.000000000 +0200 | ||
450 | +++ qt-2.3.8/src/kernel/qfontdatabase.cpp2004-07-23 19:08:46.000000000 +0200 | ||
451 | @@ -35,6 +35,8 @@ | ||
452 | ** | ||
453 | **********************************************************************/ | ||
454 | |||
455 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
456 | + | ||
457 | #include "qfontdatabase.h" | ||
458 | |||
459 | #ifndef QT_NO_FONTDATABASE | ||
460 | @@ -2424,6 +2426,13 @@ | ||
461 | const QString &style, | ||
462 | const QString &charSet ) | ||
463 | { | ||
464 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
465 | +} | ||
466 | + | ||
467 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
468 | + const QString &style, | ||
469 | + const QString &charSet ) | ||
470 | +{ | ||
471 | QString cs( charSet ); | ||
472 | if ( charSet.isEmpty() ) { | ||
473 | QStringList lst = charSets( family ); | ||
474 | diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.h qt-2.3.8/src/kernel/qfontdatabase.h | ||
475 | --- qt-2.3.8-old/src/kernel/qfontdatabase.h2004-07-22 01:07:45.000000000 +0200 | ||
476 | +++ qt-2.3.8/src/kernel/qfontdatabase.h2004-07-23 19:08:46.000000000 +0200 | ||
477 | @@ -59,6 +59,10 @@ | ||
478 | class QDiskFont; | ||
479 | #endif | ||
480 | |||
481 | +#if !defined( QT_WEAK_SYMBOL ) | ||
482 | +#define QT_WEAK_SYMBOL | ||
483 | +#endif | ||
484 | + | ||
485 | class QFontDatabasePrivate; | ||
486 | |||
487 | class Q_EXPORT QFontDatabase | ||
488 | @@ -67,9 +71,16 @@ | ||
489 | QFontDatabase(); | ||
490 | |||
491 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
492 | + | ||
493 | + | ||
494 | QValueList<int> pointSizes( const QString &family, | ||
495 | const QString &style = QString::null, | ||
496 | - const QString &charSet = QString::null ); | ||
497 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
498 | +private: | ||
499 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
500 | + const QString &style, | ||
501 | + const QString &charSet ); | ||
502 | +public: | ||
503 | QStringList styles( const QString &family, | ||
504 | const QString &charSet = QString::null ) const; | ||
505 | QStringList charSets( const QString &familyName, | ||
506 | diff -ur qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp qt-2.3.8/src/kernel/qgfxraster_qws.cpp | ||
507 | --- qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
508 | +++ qt-2.3.8/src/kernel/qgfxraster_qws.cpp2004-07-23 19:10:03.000000000 +0200 | ||
509 | @@ -4400,7 +4400,7 @@ | ||
510 | setAlphaType(IgnoreAlpha); | ||
511 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
512 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
513 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
514 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
515 | // ### fix for 8bpp | ||
516 | // This seems to be reliable now, at least for 16bpp | ||
517 | |||
518 | Nur in qt-2.3.8/src/kernel: qgfxraster_qws.cpp.orig. | ||
519 | diff -ur qt-2.3.8-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp | ||
520 | --- qt-2.3.8-old/src/kernel/qgfxtransformed_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
521 | +++ qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp2004-07-23 19:09:55.000000000 +0200 | ||
522 | @@ -671,11 +671,11 @@ | ||
523 | inline int tx( int x, int y ) { | ||
524 | switch ( qt_trans_screen->transformation() ) { | ||
525 | case QTransformedScreen::Rot90: | ||
526 | - return y - xoffs + yoffs; | ||
527 | + return y - this->xoffs + this->yoffs; | ||
528 | case QTransformedScreen::Rot180: | ||
529 | - return (width - x - 1) - xoffs - xoffs; | ||
530 | + return (this->width - x - 1) - this->xoffs - this->xoffs; | ||
531 | case QTransformedScreen::Rot270: | ||
532 | - return (height - y - 1) - xoffs - yoffs; | ||
533 | + return (this->height - y - 1) - this->xoffs - this->yoffs; | ||
534 | default: | ||
535 | return x; | ||
536 | } | ||
537 | @@ -683,11 +683,11 @@ | ||
538 | inline int ty( int x, int y ) { | ||
539 | switch ( qt_trans_screen->transformation() ) { | ||
540 | case QTransformedScreen::Rot90: | ||
541 | - return (width - x - 1) - yoffs - xoffs; | ||
542 | + return (this->width - x - 1) - this->yoffs - this->xoffs; | ||
543 | case QTransformedScreen::Rot180: | ||
544 | - return (height - y - 1) - yoffs - yoffs; | ||
545 | + return (this->height - y - 1) - this->yoffs - this->yoffs; | ||
546 | case QTransformedScreen::Rot270: | ||
547 | - return x - yoffs + xoffs; | ||
548 | + return x - this->yoffs + this->xoffs; | ||
549 | default: | ||
550 | return y; | ||
551 | } | ||
552 | @@ -715,23 +715,23 @@ | ||
553 | template <const int depth, const int type> | ||
554 | void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) | ||
555 | { | ||
556 | - if ( srcbits == buffer ) { | ||
557 | + if ( this->srcbits == this->buffer ) { | ||
558 | switch ( qt_trans_screen->transformation() ) { | ||
559 | case QTransformedScreen::Rot90: | ||
560 | - srcwidgetoffs = QPoint( y, width - x - srcwidth ); | ||
561 | + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); | ||
562 | break; | ||
563 | case QTransformedScreen::Rot180: | ||
564 | - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); | ||
565 | + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); | ||
566 | break; | ||
567 | case QTransformedScreen::Rot270: | ||
568 | - srcwidgetoffs = QPoint( height - y - srcheight, x ); | ||
569 | + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); | ||
570 | break; | ||
571 | default: | ||
572 | - srcwidgetoffs = QPoint( x, y ); | ||
573 | + this->srcwidgetoffs = QPoint( x, y ); | ||
574 | break; | ||
575 | } | ||
576 | } else | ||
577 | -srcwidgetoffs = QPoint( x, y ); | ||
578 | +this->srcwidgetoffs = QPoint( x, y ); | ||
579 | } | ||
580 | |||
581 | template <const int depth, const int type> | ||
582 | @@ -739,8 +739,8 @@ | ||
583 | { | ||
584 | QT_TRANS_GFX_BASE<depth,type>::setSource(i); | ||
585 | QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) ); | ||
586 | - srcwidth = s.width(); | ||
587 | - srcheight = s.height(); | ||
588 | + this->srcwidth = s.width(); | ||
589 | + this->srcheight = s.height(); | ||
590 | } | ||
591 | |||
592 | template <const int depth, const int type> | ||
593 | @@ -782,7 +782,7 @@ | ||
594 | if ( w == 0 || h == 0 ) | ||
595 | return; | ||
596 | QRect r( x, y, w, h ); | ||
597 | - if ( cbrush.style() == SolidPattern ) { | ||
598 | + if ( this->cbrush.style() == Qt::SolidPattern ) { | ||
599 | r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) ); | ||
600 | r = r.normalize(); | ||
601 | } | ||
602 | @@ -797,7 +797,7 @@ | ||
603 | // solution. The brush offset logic is complicated enough, so we don't | ||
604 | // fastpath patternedbrush. | ||
605 | |||
606 | - if ( inDraw || cpen.style()==NoPen || patternedbrush ) { | ||
607 | + if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) { | ||
608 | //slowpath | ||
609 | QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num ); | ||
610 | } else { | ||
611 | @@ -819,29 +819,29 @@ | ||
612 | template <const int depth, const int type> | ||
613 | void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width ) | ||
614 | { | ||
615 | - if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) { | ||
616 | + if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) { | ||
617 | //in the patternedbrush case, we let blt do the transformation | ||
618 | // so we leave inDraw false. | ||
619 | - QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); | ||
620 | +QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); | ||
621 | } else { | ||
622 | inDraw = TRUE; | ||
623 | while (n--) { | ||
624 | if ( *width > 0 ) { | ||
625 | - int x=tx(point->x(),point->y())+xoffs; | ||
626 | - int y=ty(point->x(),point->y())+yoffs; | ||
627 | + int x=tx(point->x(),point->y())+this->xoffs; | ||
628 | + int y=ty(point->x(),point->y())+this->yoffs; | ||
629 | |||
630 | switch( qt_trans_screen->transformation() ) { | ||
631 | case QTransformedScreen::Rot90: | ||
632 | - vline( x, y-(*width-1), y ); | ||
633 | + this->vline( x, y-(*width-1), y ); | ||
634 | break; | ||
635 | case QTransformedScreen::Rot180: | ||
636 | - hline( x - (*width-1), x, y ); | ||
637 | + this->hline( x - (*width-1), x, y ); | ||
638 | break; | ||
639 | case QTransformedScreen::Rot270: | ||
640 | - vline( x, y, y+*width-1 ); | ||
641 | + this->vline( x, y, y+*width-1 ); | ||
642 | break; | ||
643 | default: | ||
644 | - hline( x, x+*width-1, y ); | ||
645 | + this->hline( x, x+*width-1, y ); | ||
646 | break; | ||
647 | } | ||
648 | } | ||
649 | @@ -896,14 +896,14 @@ | ||
650 | switch ( qt_trans_screen->transformation() ) { | ||
651 | case QTransformedScreen::Rot90: | ||
652 | rsx = sy; | ||
653 | - rsy = srcwidth - sx - w; | ||
654 | + rsy = this->srcwidth - sx - w; | ||
655 | break; | ||
656 | case QTransformedScreen::Rot180: | ||
657 | - rsx = srcwidth - sx - w; | ||
658 | - rsy = srcheight - sy - h; | ||
659 | + rsx = this->srcwidth - sx - w; | ||
660 | + rsy = this->srcheight - sy - h; | ||
661 | break; | ||
662 | case QTransformedScreen::Rot270: | ||
663 | - rsx = srcheight - sy - h; | ||
664 | + rsx = this->srcheight - sy - h; | ||
665 | rsy = sx; | ||
666 | break; | ||
667 | default: | ||
668 | @@ -941,39 +941,39 @@ | ||
669 | r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) ); | ||
670 | r = r.normalize(); | ||
671 | |||
672 | - QPoint oldBrushOffs = brushoffs; | ||
673 | + QPoint oldBrushOffs = this->brushoffs; | ||
674 | int brx, bry; | ||
675 | switch ( qt_trans_screen->transformation() ) { | ||
676 | case QTransformedScreen::Rot90: | ||
677 | - brx = brushoffs.y(); | ||
678 | - bry = srcwidth - brushoffs.x() - w; | ||
679 | + brx = this->brushoffs.y(); | ||
680 | + bry = this->srcwidth - this->brushoffs.x() - w; | ||
681 | break; | ||
682 | case QTransformedScreen::Rot180: | ||
683 | - brx = srcwidth - brushoffs.x() - w; | ||
684 | - bry = srcheight - brushoffs.y() - h; | ||
685 | + brx = this->srcwidth - this->brushoffs.x() - w; | ||
686 | + bry = this->srcheight - this->brushoffs.y() - h; | ||
687 | break; | ||
688 | case QTransformedScreen::Rot270: | ||
689 | - brx = srcheight - brushoffs.y() - h; | ||
690 | - bry = brushoffs.x(); | ||
691 | + brx = this->srcheight - this->brushoffs.y() - h; | ||
692 | + bry = this->brushoffs.x(); | ||
693 | break; | ||
694 | default: | ||
695 | - brx = brushoffs.x(); | ||
696 | - bry = brushoffs.y(); | ||
697 | + brx = this->brushoffs.x(); | ||
698 | + bry = this->brushoffs.y(); | ||
699 | break; | ||
700 | } | ||
701 | - brushoffs = QPoint( brx, bry ); | ||
702 | + this->brushoffs = QPoint( brx, bry ); | ||
703 | |||
704 | - int oldsw = srcwidth; | ||
705 | - int oldsh = srcheight; | ||
706 | - QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) ); | ||
707 | - srcwidth = s.width(); | ||
708 | - srcheight = s.height(); | ||
709 | + int oldsw = this->srcwidth; | ||
710 | + int oldsh = this->srcheight; | ||
711 | + QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) ); | ||
712 | + this->srcwidth = s.width(); | ||
713 | + this->srcheight = s.height(); | ||
714 | |||
715 | QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() ); | ||
716 | |||
717 | - srcwidth = oldsw; | ||
718 | - srcheight = oldsh; | ||
719 | - brushoffs = oldBrushOffs; | ||
720 | + this->srcwidth = oldsw; | ||
721 | + this->srcheight = oldsh; | ||
722 | + this->brushoffs = oldBrushOffs; | ||
723 | inDraw = FALSE; | ||
724 | } | ||
725 | |||
726 | diff -ur qt-2.3.8-old/src/kernel/qgfxvfb_qws.cpp qt-2.3.8/src/kernel/qgfxvfb_qws.cpp | ||
727 | --- qt-2.3.8-old/src/kernel/qgfxvfb_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
728 | +++ qt-2.3.8/src/kernel/qgfxvfb_qws.cpp2004-07-23 19:09:55.000000000 +0200 | ||
729 | @@ -31,7 +31,6 @@ | ||
730 | **********************************************************************/ | ||
731 | |||
732 | #include "qgfxraster_qws.h" | ||
733 | - | ||
734 | #ifndef QT_NO_QWS_VFB | ||
735 | |||
736 | #include <sys/ipc.h> | ||
737 | @@ -140,8 +139,8 @@ | ||
738 | void QGfxVFb<depth,type>::drawPoint( int x, int y ) | ||
739 | { | ||
740 | QWSDisplay::grab( TRUE ); | ||
741 | - if ( is_screen_gfx ) | ||
742 | -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) ); | ||
743 | + if ( this->is_screen_gfx ) | ||
744 | +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) ); | ||
745 | QGfxRaster<depth,type>::drawPoint( x, y ); | ||
746 | QWSDisplay::ungrab(); | ||
747 | } | ||
748 | @@ -150,8 +149,8 @@ | ||
749 | void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y ) | ||
750 | { | ||
751 | QWSDisplay::grab( TRUE ); | ||
752 | - if ( is_screen_gfx ) | ||
753 | -qvfb_screen->setDirty( clipbounds ); | ||
754 | + if ( this->is_screen_gfx ) | ||
755 | +qvfb_screen->setDirty( this->clipbounds ); | ||
756 | QGfxRaster<depth,type>::drawPoints( pa, x, y ); | ||
757 | QWSDisplay::ungrab(); | ||
758 | } | ||
759 | @@ -160,9 +159,9 @@ | ||
760 | void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 ) | ||
761 | { | ||
762 | QWSDisplay::grab( TRUE ); | ||
763 | - if ( is_screen_gfx ) { | ||
764 | + if ( this->is_screen_gfx ) { | ||
765 | QRect r; | ||
766 | -r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); | ||
767 | +r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); | ||
768 | qvfb_screen->setDirty( r.normalize() ); | ||
769 | } | ||
770 | QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); | ||
771 | @@ -173,8 +172,8 @@ | ||
772 | void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h ) | ||
773 | { | ||
774 | QWSDisplay::grab( TRUE ); | ||
775 | - if ( is_screen_gfx ) | ||
776 | -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); | ||
777 | + if ( this->is_screen_gfx ) | ||
778 | +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); | ||
779 | QGfxRaster<depth,type>::fillRect( x, y, w, h ); | ||
780 | QWSDisplay::ungrab(); | ||
781 | } | ||
782 | @@ -183,8 +182,8 @@ | ||
783 | void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y ) | ||
784 | { | ||
785 | QWSDisplay::grab( TRUE ); | ||
786 | - if ( is_screen_gfx ) | ||
787 | -qvfb_screen->setDirty( clipbounds ); | ||
788 | + if ( this->is_screen_gfx ) | ||
789 | +qvfb_screen->setDirty( this->clipbounds ); | ||
790 | QGfxRaster<depth,type>::drawPolyline( pa, x, y ); | ||
791 | QWSDisplay::ungrab(); | ||
792 | } | ||
793 | @@ -193,8 +192,8 @@ | ||
794 | void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y ) | ||
795 | { | ||
796 | QWSDisplay::grab( TRUE ); | ||
797 | - if ( is_screen_gfx ) | ||
798 | -qvfb_screen->setDirty( clipbounds ); | ||
799 | + if ( this->is_screen_gfx ) | ||
800 | +qvfb_screen->setDirty( this->clipbounds ); | ||
801 | QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); | ||
802 | QWSDisplay::ungrab(); | ||
803 | } | ||
804 | @@ -203,8 +202,8 @@ | ||
805 | void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) | ||
806 | { | ||
807 | QWSDisplay::grab( TRUE ); | ||
808 | - if ( is_screen_gfx ) | ||
809 | -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); | ||
810 | + if ( this->is_screen_gfx ) | ||
811 | +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); | ||
812 | QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); | ||
813 | QWSDisplay::ungrab(); | ||
814 | } | ||
815 | @@ -215,8 +214,8 @@ | ||
816 | QWSDisplay::grab( TRUE ); | ||
817 | int dy = sy - y; | ||
818 | int dx = sx - x; | ||
819 | - if ( is_screen_gfx ) | ||
820 | -qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, | ||
821 | + if ( this->is_screen_gfx ) | ||
822 | +qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, | ||
823 | w+abs(dx), h+abs(dy)) ); | ||
824 | QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); | ||
825 | QWSDisplay::ungrab(); | ||
826 | @@ -227,8 +226,8 @@ | ||
827 | void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) | ||
828 | { | ||
829 | QWSDisplay::grab( TRUE ); | ||
830 | - if ( is_screen_gfx ) | ||
831 | -qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) ); | ||
832 | + if ( this->is_screen_gfx ) | ||
833 | +qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) ); | ||
834 | QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); | ||
835 | QWSDisplay::ungrab(); | ||
836 | } | ||
837 | @@ -238,8 +237,8 @@ | ||
838 | void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h ) | ||
839 | { | ||
840 | QWSDisplay::grab( TRUE ); | ||
841 | - if ( is_screen_gfx ) | ||
842 | -qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) ); | ||
843 | + if ( this->is_screen_gfx ) | ||
844 | +qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) ); | ||
845 | QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); | ||
846 | QWSDisplay::ungrab(); | ||
847 | } | ||
848 | diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp | ||
849 | --- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
850 | +++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp2004-07-23 19:15:51.000000000 +0200 | ||
851 | @@ -314,7 +314,7 @@ | ||
852 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63 | ||
853 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64 | ||
854 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65 | ||
855 | - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66 | ||
856 | + { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 | ||
857 | { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 | ||
858 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68 | ||
859 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69 | ||
860 | Nur in qt-2.3.8/src/kernel: qkeyboard_qws.cpp.orig. | ||
861 | diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp | ||
862 | --- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
863 | +++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp2004-07-23 19:15:51.000000000 +0200 | ||
864 | @@ -1273,6 +1273,18 @@ | ||
865 | { | ||
866 | } | ||
867 | |||
868 | +static void catchSegvSignal( int ) | ||
869 | +{ | ||
870 | +#ifndef QT_NO_QWS_KEYBOARD | ||
871 | + if ( qwsServer ) | ||
872 | +qwsServer->closeKeyboard(); | ||
873 | +#endif | ||
874 | + QWSServer::closedown(); | ||
875 | + fprintf(stderr, "Segmentation fault.\n"); | ||
876 | + exit(1); | ||
877 | +} | ||
878 | + | ||
879 | + | ||
880 | /*! | ||
881 | \class QWSServer qwindowsystem_qws.h | ||
882 | \brief Server-specific functionality in Qt/Embedded | ||
883 | @@ -1365,6 +1377,7 @@ | ||
884 | } | ||
885 | |||
886 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
887 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
888 | #endif | ||
889 | focusw = 0; | ||
890 | mouseGrabber = 0; | ||
891 | Nur in qt-2.3.8/src/kernel: qwindowsystem_qws.cpp.orig. | ||
892 | diff -ur qt-2.3.8-old/src/tools/qcstring.h qt-2.3.8/src/tools/qcstring.h | ||
893 | --- qt-2.3.8-old/src/tools/qcstring.h2004-07-22 01:07:46.000000000 +0200 | ||
894 | +++ qt-2.3.8/src/tools/qcstring.h2004-07-23 19:09:55.000000000 +0200 | ||
895 | @@ -119,7 +119,7 @@ | ||
896 | // We want to keep source compatibility for 2.x | ||
897 | // ### TODO for 4.0: completely remove these and the cstr* functions | ||
898 | |||
899 | -#if !defined(QT_GENUINE_STR) | ||
900 | +#if 0 | ||
901 | |||
902 | #undefstrlen | ||
903 | #define strlen qstrlen | ||
904 | diff -ur qt-2.3.8-old/src/tools/qglobal.h qt-2.3.8/src/tools/qglobal.h | ||
905 | --- qt-2.3.8-old/src/tools/qglobal.h2004-07-22 01:07:46.000000000 +0200 | ||
906 | +++ qt-2.3.8/src/tools/qglobal.h2004-07-23 19:09:55.000000000 +0200 | ||
907 | @@ -207,8 +207,16 @@ | ||
908 | #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 | ||
909 | #define Q_FP_CCAST_BROKEN | ||
910 | #endif | ||
911 | +/* ARM gcc pads structs to 32 bits, even when they contain a single | ||
912 | + char, or short. We tell gcc to pack QChars to 16 bits, to avoid | ||
913 | + QString bloat. However, gcc 3.4 doesn't allow us to create references to | ||
914 | + members of a packed struct. (Pointers are OK, because then you | ||
915 | + supposedly know what you are doing.) */ | ||
916 | #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | ||
917 | #define Q_PACKED __attribute__ ((packed)) | ||
918 | +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 | ||
919 | +# define Q_NO_PACKED_REFERENCE | ||
920 | +# endif | ||
921 | #endif | ||
922 | #elif defined(__xlC__) | ||
923 | #define _CC_XLC_ | ||
924 | diff -ur qt-2.3.8-old/src/tools/qsortedlist.h qt-2.3.8/src/tools/qsortedlist.h | ||
925 | --- qt-2.3.8-old/src/tools/qsortedlist.h2004-07-22 01:07:46.000000000 +0200 | ||
926 | +++ qt-2.3.8/src/tools/qsortedlist.h2004-07-23 19:09:55.000000000 +0200 | ||
927 | @@ -48,7 +48,7 @@ | ||
928 | public: | ||
929 | QSortedList() {} | ||
930 | QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} | ||
931 | - ~QSortedList() { clear(); } | ||
932 | + ~QSortedList() { this->clear(); } | ||
933 | QSortedList<type> &operator=(const QSortedList<type> &l) | ||
934 | { return (QSortedList<type>&)QList<type>::operator=(l); } | ||
935 | |||
936 | diff -ur qt-2.3.8-old/src/tools/qstring.cpp qt-2.3.8/src/tools/qstring.cpp | ||
937 | --- qt-2.3.8-old/src/tools/qstring.cpp2004-07-23 14:34:57.000000000 +0200 | ||
938 | +++ qt-2.3.8/src/tools/qstring.cpp2004-07-23 19:09:49.000000000 +0200 | ||
939 | @@ -14469,7 +14469,11 @@ | ||
940 | return qt_winQString2MB( *this ); | ||
941 | #endif | ||
942 | #ifdef _WS_QWS_ | ||
943 | - return utf8(); // ##### if there is ANY 8 bit format supported? | ||
944 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
945 | + return codec | ||
946 | + ? codec->fromUnicode(*this) | ||
947 | + : utf8(); | ||
948 | + //return latin1(); // ##### if there is ANY 8 bit format supported? | ||
949 | #endif | ||
950 | #endif | ||
951 | } | ||
952 | @@ -14515,7 +14519,12 @@ | ||
953 | return qt_winMB2QString( local8Bit ); | ||
954 | #endif | ||
955 | #ifdef _WS_QWS_ | ||
956 | - return fromUtf8(local8Bit,len); | ||
957 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
958 | + if( len < 0) len = qstrlen(local8Bit); | ||
959 | + return codec | ||
960 | + ? codec->toUnicode(local8Bit, len) | ||
961 | + : QString::fromUtf8(local8Bit,len); | ||
962 | +// return fromLatin1(local8Bit,len); | ||
963 | #endif | ||
964 | #endif // QT_NO_TEXTCODEC | ||
965 | } | ||
966 | diff -ur qt-2.3.8-old/src/tools/qstring.h qt-2.3.8/src/tools/qstring.h | ||
967 | --- qt-2.3.8-old/src/tools/qstring.h2004-07-22 01:07:46.000000000 +0200 | ||
968 | +++ qt-2.3.8/src/tools/qstring.h2004-07-23 19:09:55.000000000 +0200 | ||
969 | @@ -163,8 +163,16 @@ | ||
970 | bool isLetterOrNumber() const; | ||
971 | bool isDigit() const; | ||
972 | |||
973 | + | ||
974 | +#ifdef Q_NO_PACKED_REFERENCE | ||
975 | + uchar& cell() { return *(&cl); } | ||
976 | + uchar& row() { return *(&rw); } | ||
977 | +#else | ||
978 | uchar& cell() { return cl; } | ||
979 | - uchar& row() { return rw; } | ||
980 | + uchar& row() { return rw; } | ||
981 | +#endif | ||
982 | + | ||
983 | + | ||
984 | uchar cell() const { return cl; } | ||
985 | uchar row() const { return rw; } | ||
986 | |||
987 | diff -ur qt-2.3.8-old/src/widgets/qcommonstyle.cpp qt-2.3.8/src/widgets/qcommonstyle.cpp | ||
988 | --- qt-2.3.8-old/src/widgets/qcommonstyle.cpp2004-07-22 01:07:44.000000000 +0200 | ||
989 | +++ qt-2.3.8/src/widgets/qcommonstyle.cpp2004-07-23 16:15:16.000000000 +0200 | ||
990 | @@ -566,7 +566,7 @@ | ||
991 | bool enabled, bool active ) | ||
992 | { | ||
993 | #ifndef QT_NO_MENUBAR | ||
994 | -#ifndef QT_NO_STYLE_SGI | ||
995 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
996 | if (draw_menu_bar_impl != 0) { | ||
997 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
998 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
999 | diff -ur qt-2.3.8-old/src/widgets/qlistview.cpp qt-2.3.8/src/widgets/qlistview.cpp | ||
1000 | --- qt-2.3.8-old/src/widgets/qlistview.cpp2004-07-22 01:07:44.000000000 +0200 | ||
1001 | +++ qt-2.3.8/src/widgets/qlistview.cpp2004-07-23 16:15:16.000000000 +0200 | ||
1002 | @@ -5054,9 +5054,9 @@ | ||
1003 | l = l->childItem ? l->childItem : l->siblingItem; | ||
1004 | |||
1005 | if ( l && l->height() ) | ||
1006 | -s.setHeight( s.height() + 10 * l->height() ); | ||
1007 | - else | ||
1008 | -s.setHeight( s.height() + 140 ); | ||
1009 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
1010 | + else // ^v much too big for handhelds | ||
1011 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
1012 | |||
1013 | if ( s.width() > s.height() * 3 ) | ||
1014 | s.setHeight( s.width() / 3 ); | ||
1015 | Nur in qt-2.3.8/src/widgets: qlistview.cpp.orig. | ||
1016 | diff -ur qt-2.3.8-old/src/widgets/qscrollview.cpp qt-2.3.8/src/widgets/qscrollview.cpp | ||
1017 | --- qt-2.3.8-old/src/widgets/qscrollview.cpp2004-07-22 01:07:44.000000000 +0200 | ||
1018 | +++ qt-2.3.8/src/widgets/qscrollview.cpp2004-07-23 19:21:06.000000000 +0200 | ||
1019 | @@ -1280,6 +1280,9 @@ | ||
1020 | case QEvent::LayoutHint: | ||
1021 | d->autoResizeHint(this); | ||
1022 | break; | ||
1023 | +case QEvent::WindowActivate: | ||
1024 | +case QEvent::WindowDeactivate: | ||
1025 | + return TRUE; | ||
1026 | default: | ||
1027 | break; | ||
1028 | } | ||
1029 | diff -ur qt-2.3.8-old/src/widgets/qtoolbutton.cpp qt-2.3.8/src/widgets/qtoolbutton.cpp | ||
1030 | --- qt-2.3.8-old/src/widgets/qtoolbutton.cpp2004-07-22 01:07:44.000000000 +0200 | ||
1031 | +++ qt-2.3.8/src/widgets/qtoolbutton.cpp2004-07-23 16:15:16.000000000 +0200 | ||
1032 | @@ -232,7 +232,7 @@ | ||
1033 | else | ||
1034 | QToolTip::add( this, textLabel ); | ||
1035 | } | ||
1036 | -#endif | ||
1037 | +#endif | ||
1038 | } | ||
1039 | |||
1040 | |||
1041 | @@ -326,12 +326,12 @@ | ||
1042 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
1043 | w = pm.width(); | ||
1044 | h = pm.height(); | ||
1045 | -if ( w < 32 ) | ||
1046 | - w = 32; | ||
1047 | -if ( h < 32 ) | ||
1048 | - h = 32; | ||
1049 | +if ( w < 24 ) | ||
1050 | + w = 24; | ||
1051 | +if ( h < 24 ) | ||
1052 | + h = 24; | ||
1053 | } else { | ||
1054 | -w = h = 16; | ||
1055 | +w = h = 14; | ||
1056 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
1057 | w = pm.width(); | ||
1058 | h = pm.height(); | ||
1059 | Nur in qt-2.3.8/src/widgets: qtoolbutton.cpp.orig. | ||
diff --git a/qt/qt-2.3.8.patch/qte238-allowoverride.patch b/qt/qt-2.3.8.patch/qte238-allowoverride.patch deleted file mode 100644 index 8a63710..0000000 --- a/qt/qt-2.3.8.patch/qte238-allowoverride.patch +++ b/dev/null | |||
@@ -1,231 +0,0 @@ | |||
1 | Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used | ||
2 | to be multiplied with 10, some apps get confused by that and | ||
3 | in Opie we allow to work around for specefic application | ||
4 | |||
5 | Courtsey to Robert 'sandman' Griebl | ||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
13 | |||
14 | diff -ur qt-2.3.8-old/src/kernel/qapplication.cpp qt-2.3.8/src/kernel/qapplication.cpp | ||
15 | --- qt-2.3.8-old/src/kernel/qapplication.cpp2004-07-22 01:07:46.000000000 +0200 | ||
16 | +++ qt-2.3.8/src/kernel/qapplication.cpp2004-07-23 19:08:46.000000000 +0200 | ||
17 | @@ -35,6 +35,8 @@ | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
22 | + | ||
23 | #include "qobjectlist.h" | ||
24 | #include "qobjectdict.h" | ||
25 | #include "qapplication.h" | ||
26 | @@ -936,11 +938,16 @@ | ||
27 | #ifndef QT_NO_STYLE | ||
28 | void QApplication::setStyle( QStyle *style ) | ||
29 | { | ||
30 | +setStyle_NonWeak ( style ); | ||
31 | +} | ||
32 | + | ||
33 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
34 | +{ | ||
35 | QStyle* old = app_style; | ||
36 | - app_style = style; | ||
37 | |||
38 | if ( startingUp() ) { | ||
39 | delete old; | ||
40 | +app_style = style; | ||
41 | return; | ||
42 | } | ||
43 | |||
44 | @@ -961,6 +968,8 @@ | ||
45 | old->unPolish( qApp ); | ||
46 | } | ||
47 | |||
48 | + app_style = style; | ||
49 | + | ||
50 | // take care of possible palette requirements of certain gui | ||
51 | // styles. Do it before polishing the application since the style | ||
52 | // might call QApplication::setStyle() itself | ||
53 | @@ -1187,13 +1196,30 @@ | ||
54 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
55 | */ | ||
56 | |||
57 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
58 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
59 | + const char* className ) | ||
60 | +{ | ||
61 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
62 | +} | ||
63 | + | ||
64 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
65 | const char* className ) | ||
66 | { | ||
67 | QPalette pal = palette; | ||
68 | #ifndef QT_NO_STYLE | ||
69 | - if ( !startingUp() ) | ||
70 | + if ( !startingUp() ) { | ||
71 | qApp->style().polish( pal );// NB: non-const reference | ||
72 | +if ( className ) { | ||
73 | + // if we just polished a class specific palette (this normally | ||
74 | + // only called by qt_fix_tooltips - see below), we better re- | ||
75 | + // polish the global palette. Some styles like liquid can get | ||
76 | + // confused, because they can not detect if the polished palette | ||
77 | + // is the global one or only a class specific one. | ||
78 | + // (liquid uses this palette to calculate blending pixmaps) | ||
79 | + QPalette p = qApp-> palette ( ); | ||
80 | + qApp->style().polish ( p ); | ||
81 | +} | ||
82 | + } | ||
83 | #endif | ||
84 | bool all = FALSE; | ||
85 | if ( !className ) { | ||
86 | @@ -1278,6 +1304,12 @@ | ||
87 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
88 | const char* className ) | ||
89 | { | ||
90 | +setFont_NonWeak ( font, informWidgets, className ); | ||
91 | +} | ||
92 | + | ||
93 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
94 | + const char* className ) | ||
95 | +{ | ||
96 | bool all = FALSE; | ||
97 | if ( !className ) { | ||
98 | if ( !app_font ) { | ||
99 | Nur in qt-2.3.8/src/kernel/: qapplication.cpp.orig. | ||
100 | diff -ur qt-2.3.8-old/src/kernel/qapplication.h qt-2.3.8/src/kernel/qapplication.h | ||
101 | --- qt-2.3.8-old/src/kernel/qapplication.h2004-07-22 01:07:45.000000000 +0200 | ||
102 | +++ qt-2.3.8/src/kernel/qapplication.h2004-07-23 19:08:46.000000000 +0200 | ||
103 | @@ -61,6 +61,10 @@ | ||
104 | class QSemaphore; | ||
105 | #endif | ||
106 | |||
107 | +#if !defined( QT_WEAK_SYMBOL ) | ||
108 | +#define QT_WEAK_SYMBOL | ||
109 | +#endif | ||
110 | + | ||
111 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
112 | #define QNonBaseApplication QApplication | ||
113 | |||
114 | @@ -85,7 +89,10 @@ | ||
115 | |||
116 | #ifndef QT_NO_STYLE | ||
117 | static QStyle &style(); | ||
118 | - static void setStyle( QStyle* ); | ||
119 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
120 | +private: | ||
121 | +static void setStyle_NonWeak( QStyle* ); | ||
122 | +public: | ||
123 | #endif | ||
124 | #if 1/* OBSOLETE */ | ||
125 | enum ColorMode { NormalColors, CustomColors }; | ||
126 | @@ -106,11 +113,19 @@ | ||
127 | #ifndef QT_NO_PALETTE | ||
128 | static QPalette palette( const QWidget* = 0 ); | ||
129 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
130 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
131 | +private: | ||
132 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
133 | const char* className = 0 ); | ||
134 | +public: | ||
135 | #endif | ||
136 | static QFont font( const QWidget* = 0 ); | ||
137 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
138 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
139 | +private: | ||
140 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
141 | const char* className = 0 ); | ||
142 | +public: | ||
143 | static QFontMetrics fontMetrics(); | ||
144 | |||
145 | QWidget *mainWidget() const; | ||
146 | @@ -207,7 +222,10 @@ | ||
147 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
148 | #ifndef QT_NO_QWS_MANAGER | ||
149 | static QWSDecoration &qwsDecoration(); | ||
150 | - static void qwsSetDecoration( QWSDecoration *); | ||
151 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
152 | +private: | ||
153 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
154 | +public: | ||
155 | #endif | ||
156 | #endif | ||
157 | |||
158 | diff -ur qt-2.3.8-old/src/kernel/qapplication_qws.cpp qt-2.3.8/src/kernel/qapplication_qws.cpp | ||
159 | --- qt-2.3.8-old/src/kernel/qapplication_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
160 | +++ qt-2.3.8/src/kernel/qapplication_qws.cpp2004-07-23 19:08:46.000000000 +0200 | ||
161 | @@ -2896,6 +2896,11 @@ | ||
162 | */ | ||
163 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
164 | { | ||
165 | +qwsSetDecoration_NonWeak ( d ); | ||
166 | +} | ||
167 | + | ||
168 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
169 | +{ | ||
170 | if ( d ) { | ||
171 | delete qws_decoration; | ||
172 | qws_decoration = d; | ||
173 | Nur in qt-2.3.8/src/kernel/: qapplication_qws.cpp.orig. | ||
174 | diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.cpp qt-2.3.8/src/kernel/qfontdatabase.cpp | ||
175 | --- qt-2.3.8-old/src/kernel/qfontdatabase.cpp2004-07-22 01:07:45.000000000 +0200 | ||
176 | +++ qt-2.3.8/src/kernel/qfontdatabase.cpp2004-07-23 19:08:46.000000000 +0200 | ||
177 | @@ -35,6 +35,8 @@ | ||
178 | ** | ||
179 | **********************************************************************/ | ||
180 | |||
181 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
182 | + | ||
183 | #include "qfontdatabase.h" | ||
184 | |||
185 | #ifndef QT_NO_FONTDATABASE | ||
186 | @@ -2424,6 +2426,13 @@ | ||
187 | const QString &style, | ||
188 | const QString &charSet ) | ||
189 | { | ||
190 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
191 | +} | ||
192 | + | ||
193 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
194 | + const QString &style, | ||
195 | + const QString &charSet ) | ||
196 | +{ | ||
197 | QString cs( charSet ); | ||
198 | if ( charSet.isEmpty() ) { | ||
199 | QStringList lst = charSets( family ); | ||
200 | diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.h qt-2.3.8/src/kernel/qfontdatabase.h | ||
201 | --- qt-2.3.8-old/src/kernel/qfontdatabase.h2004-07-22 01:07:45.000000000 +0200 | ||
202 | +++ qt-2.3.8/src/kernel/qfontdatabase.h2004-07-23 19:08:46.000000000 +0200 | ||
203 | @@ -59,6 +59,10 @@ | ||
204 | class QDiskFont; | ||
205 | #endif | ||
206 | |||
207 | +#if !defined( QT_WEAK_SYMBOL ) | ||
208 | +#define QT_WEAK_SYMBOL | ||
209 | +#endif | ||
210 | + | ||
211 | class QFontDatabasePrivate; | ||
212 | |||
213 | class Q_EXPORT QFontDatabase | ||
214 | @@ -67,9 +71,16 @@ | ||
215 | QFontDatabase(); | ||
216 | |||
217 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
218 | + | ||
219 | + | ||
220 | QValueList<int> pointSizes( const QString &family, | ||
221 | const QString &style = QString::null, | ||
222 | - const QString &charSet = QString::null ); | ||
223 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
224 | +private: | ||
225 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
226 | + const QString &style, | ||
227 | + const QString &charSet ); | ||
228 | +public: | ||
229 | QStringList styles( const QString &family, | ||
230 | const QString &charSet = QString::null ) const; | ||
231 | QStringList charSets( const QString &familyName, | ||
diff --git a/qt/qt-2.3.8.patch/qte238-encoding.patch b/qt/qt-2.3.8.patch/qte238-encoding.patch deleted file mode 100644 index 5ddb43c..0000000 --- a/qt/qt-2.3.8.patch/qte238-encoding.patch +++ b/dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | German umlaute quite likely french, italian, spanish did | ||
2 | not work due QFile::[decode,encode]Name did call QString | ||
3 | local8Bit,fromLocal8Bit which plainly tried to use utf8 | ||
4 | encoding even if not useful. So a filename got changed | ||
5 | and QFileInfo recognized the file not beeing present anymore... | ||
6 | which lead to files not be shown. | ||
7 | Also with Year-Names problem exists as the base system sent | ||
8 | it encoded upstream. | ||
9 | |||
10 | If you want to have UTF-8 encoding use LC_CTYPE as always and | ||
11 | QTextCodec::codecForLocale will use the right UTF-8 encoding. | ||
12 | |||
13 | As fallback the old behaviour was preserved | ||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | --- qt-2.3.8-old/src/tools/qstring.cpp2004-07-23 14:33:02.000000000 +0200 | ||
22 | +++ qt-2.3.8/src/tools/qstring.cpp2004-07-23 14:32:31.000000000 +0200 | ||
23 | @@ -14469,7 +14469,11 @@ | ||
24 | return qt_winQString2MB( *this ); | ||
25 | #endif | ||
26 | #ifdef _WS_QWS_ | ||
27 | - return utf8(); // ##### if there is ANY 8 bit format supported? | ||
28 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
29 | + return codec | ||
30 | + ? codec->fromUnicode(*this) | ||
31 | + : utf8(); | ||
32 | + //return latin1(); // ##### if there is ANY 8 bit format supported? | ||
33 | #endif | ||
34 | #endif | ||
35 | } | ||
36 | @@ -14515,7 +14519,12 @@ | ||
37 | return qt_winMB2QString( local8Bit ); | ||
38 | #endif | ||
39 | #ifdef _WS_QWS_ | ||
40 | - return fromUtf8(local8Bit,len); | ||
41 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
42 | + if( len < 0) len = qstrlen(local8Bit); | ||
43 | + return codec | ||
44 | + ? codec->toUnicode(local8Bit, len) | ||
45 | + : QString::fromUtf8(local8Bit,len); | ||
46 | +// return fromLatin1(local8Bit,len); | ||
47 | #endif | ||
48 | #endif // QT_NO_TEXTCODEC | ||
49 | } | ||
diff --git a/qt/qt-2.3.8.patch/qte238-gcc34.patch b/qt/qt-2.3.8.patch/qte238-gcc34.patch deleted file mode 100644 index 770740d..0000000 --- a/qt/qt-2.3.8.patch/qte238-gcc34.patch +++ b/dev/null | |||
@@ -1,440 +0,0 @@ | |||
1 | diff -ur qt-2.3.8_clean/include/qcstring.h qt-2.3.8/include/qcstring.h | ||
2 | --- qt-2.3.8_clean/include/qcstring.h2004-06-04 02:17:53.000000000 +0200 | ||
3 | +++ qt-2.3.8/include/qcstring.h2004-06-04 02:24:25.000000000 +0200 | ||
4 | @@ -119,7 +119,7 @@ | ||
5 | // We want to keep source compatibility for 2.x | ||
6 | // ### TODO for 4.0: completely remove these and the cstr* functions | ||
7 | |||
8 | -#if !defined(QT_GENUINE_STR) | ||
9 | +#if 0 | ||
10 | |||
11 | #undefstrlen | ||
12 | #define strlen qstrlen | ||
13 | diff -ur qt-2.3.8_clean/include/qglobal.h qt-2.3.8/include/qglobal.h | ||
14 | --- qt-2.3.8_clean/include/qglobal.h2004-06-04 02:17:53.000000000 +0200 | ||
15 | +++ qt-2.3.8/include/qglobal.h2004-06-04 02:29:41.000000000 +0200 | ||
16 | @@ -207,8 +207,16 @@ | ||
17 | #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 | ||
18 | #define Q_FP_CCAST_BROKEN | ||
19 | #endif | ||
20 | +/* ARM gcc pads structs to 32 bits, even when they contain a single | ||
21 | + char, or short. We tell gcc to pack QChars to 16 bits, to avoid | ||
22 | + QString bloat. However, gcc 3.4 doesn't allow us to create references to | ||
23 | + members of a packed struct. (Pointers are OK, because then you | ||
24 | + supposedly know what you are doing.) */ | ||
25 | #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | ||
26 | #define Q_PACKED __attribute__ ((packed)) | ||
27 | +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 | ||
28 | +# define Q_NO_PACKED_REFERENCE | ||
29 | +# endif | ||
30 | #endif | ||
31 | #elif defined(__xlC__) | ||
32 | #define _CC_XLC_ | ||
33 | diff -ur qt-2.3.8_clean/include/qsortedlist.h qt-2.3.8/include/qsortedlist.h | ||
34 | --- qt-2.3.8_clean/include/qsortedlist.h2004-06-04 02:17:53.000000000 +0200 | ||
35 | +++ qt-2.3.8/include/qsortedlist.h2004-06-04 02:24:25.000000000 +0200 | ||
36 | @@ -48,7 +48,7 @@ | ||
37 | public: | ||
38 | QSortedList() {} | ||
39 | QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} | ||
40 | - ~QSortedList() { clear(); } | ||
41 | + ~QSortedList() { this->clear(); } | ||
42 | QSortedList<type> &operator=(const QSortedList<type> &l) | ||
43 | { return (QSortedList<type>&)QList<type>::operator=(l); } | ||
44 | |||
45 | diff -ur qt-2.3.8_clean/src/kernel/qgfxtransformed_qws.cpp qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp | ||
46 | --- qt-2.3.8_clean/src/kernel/qgfxtransformed_qws.cpp2004-06-04 02:17:53.000000000 +0200 | ||
47 | +++ qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp2004-06-04 02:24:25.000000000 +0200 | ||
48 | @@ -671,11 +671,11 @@ | ||
49 | inline int tx( int x, int y ) { | ||
50 | switch ( qt_trans_screen->transformation() ) { | ||
51 | case QTransformedScreen::Rot90: | ||
52 | - return y - xoffs + yoffs; | ||
53 | + return y - this->xoffs + this->yoffs; | ||
54 | case QTransformedScreen::Rot180: | ||
55 | - return (width - x - 1) - xoffs - xoffs; | ||
56 | + return (this->width - x - 1) - this->xoffs - this->xoffs; | ||
57 | case QTransformedScreen::Rot270: | ||
58 | - return (height - y - 1) - xoffs - yoffs; | ||
59 | + return (this->height - y - 1) - this->xoffs - this->yoffs; | ||
60 | default: | ||
61 | return x; | ||
62 | } | ||
63 | @@ -683,11 +683,11 @@ | ||
64 | inline int ty( int x, int y ) { | ||
65 | switch ( qt_trans_screen->transformation() ) { | ||
66 | case QTransformedScreen::Rot90: | ||
67 | - return (width - x - 1) - yoffs - xoffs; | ||
68 | + return (this->width - x - 1) - this->yoffs - this->xoffs; | ||
69 | case QTransformedScreen::Rot180: | ||
70 | - return (height - y - 1) - yoffs - yoffs; | ||
71 | + return (this->height - y - 1) - this->yoffs - this->yoffs; | ||
72 | case QTransformedScreen::Rot270: | ||
73 | - return x - yoffs + xoffs; | ||
74 | + return x - this->yoffs + this->xoffs; | ||
75 | default: | ||
76 | return y; | ||
77 | } | ||
78 | @@ -715,23 +715,23 @@ | ||
79 | template <const int depth, const int type> | ||
80 | void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) | ||
81 | { | ||
82 | - if ( srcbits == buffer ) { | ||
83 | + if ( this->srcbits == this->buffer ) { | ||
84 | switch ( qt_trans_screen->transformation() ) { | ||
85 | case QTransformedScreen::Rot90: | ||
86 | - srcwidgetoffs = QPoint( y, width - x - srcwidth ); | ||
87 | + this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); | ||
88 | break; | ||
89 | case QTransformedScreen::Rot180: | ||
90 | - srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); | ||
91 | + this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); | ||
92 | break; | ||
93 | case QTransformedScreen::Rot270: | ||
94 | - srcwidgetoffs = QPoint( height - y - srcheight, x ); | ||
95 | + this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); | ||
96 | break; | ||
97 | default: | ||
98 | - srcwidgetoffs = QPoint( x, y ); | ||
99 | + this->srcwidgetoffs = QPoint( x, y ); | ||
100 | break; | ||
101 | } | ||
102 | } else | ||
103 | -srcwidgetoffs = QPoint( x, y ); | ||
104 | +this->srcwidgetoffs = QPoint( x, y ); | ||
105 | } | ||
106 | |||
107 | template <const int depth, const int type> | ||
108 | @@ -739,8 +739,8 @@ | ||
109 | { | ||
110 | QT_TRANS_GFX_BASE<depth,type>::setSource(i); | ||
111 | QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) ); | ||
112 | - srcwidth = s.width(); | ||
113 | - srcheight = s.height(); | ||
114 | + this->srcwidth = s.width(); | ||
115 | + this->srcheight = s.height(); | ||
116 | } | ||
117 | |||
118 | template <const int depth, const int type> | ||
119 | @@ -782,7 +782,7 @@ | ||
120 | if ( w == 0 || h == 0 ) | ||
121 | return; | ||
122 | QRect r( x, y, w, h ); | ||
123 | - if ( cbrush.style() == SolidPattern ) { | ||
124 | + if ( this->cbrush.style() == Qt::SolidPattern ) { | ||
125 | r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) ); | ||
126 | r = r.normalize(); | ||
127 | } | ||
128 | @@ -797,7 +797,7 @@ | ||
129 | // solution. The brush offset logic is complicated enough, so we don't | ||
130 | // fastpath patternedbrush. | ||
131 | |||
132 | - if ( inDraw || cpen.style()==NoPen || patternedbrush ) { | ||
133 | + if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) { | ||
134 | //slowpath | ||
135 | QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num ); | ||
136 | } else { | ||
137 | @@ -819,29 +819,29 @@ | ||
138 | template <const int depth, const int type> | ||
139 | void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width ) | ||
140 | { | ||
141 | - if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) { | ||
142 | + if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) { | ||
143 | //in the patternedbrush case, we let blt do the transformation | ||
144 | // so we leave inDraw false. | ||
145 | - QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); | ||
146 | +QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); | ||
147 | } else { | ||
148 | inDraw = TRUE; | ||
149 | while (n--) { | ||
150 | if ( *width > 0 ) { | ||
151 | - int x=tx(point->x(),point->y())+xoffs; | ||
152 | - int y=ty(point->x(),point->y())+yoffs; | ||
153 | + int x=tx(point->x(),point->y())+this->xoffs; | ||
154 | + int y=ty(point->x(),point->y())+this->yoffs; | ||
155 | |||
156 | switch( qt_trans_screen->transformation() ) { | ||
157 | case QTransformedScreen::Rot90: | ||
158 | - vline( x, y-(*width-1), y ); | ||
159 | + this->vline( x, y-(*width-1), y ); | ||
160 | break; | ||
161 | case QTransformedScreen::Rot180: | ||
162 | - hline( x - (*width-1), x, y ); | ||
163 | + this->hline( x - (*width-1), x, y ); | ||
164 | break; | ||
165 | case QTransformedScreen::Rot270: | ||
166 | - vline( x, y, y+*width-1 ); | ||
167 | + this->vline( x, y, y+*width-1 ); | ||
168 | break; | ||
169 | default: | ||
170 | - hline( x, x+*width-1, y ); | ||
171 | + this->hline( x, x+*width-1, y ); | ||
172 | break; | ||
173 | } | ||
174 | } | ||
175 | @@ -896,14 +896,14 @@ | ||
176 | switch ( qt_trans_screen->transformation() ) { | ||
177 | case QTransformedScreen::Rot90: | ||
178 | rsx = sy; | ||
179 | - rsy = srcwidth - sx - w; | ||
180 | + rsy = this->srcwidth - sx - w; | ||
181 | break; | ||
182 | case QTransformedScreen::Rot180: | ||
183 | - rsx = srcwidth - sx - w; | ||
184 | - rsy = srcheight - sy - h; | ||
185 | + rsx = this->srcwidth - sx - w; | ||
186 | + rsy = this->srcheight - sy - h; | ||
187 | break; | ||
188 | case QTransformedScreen::Rot270: | ||
189 | - rsx = srcheight - sy - h; | ||
190 | + rsx = this->srcheight - sy - h; | ||
191 | rsy = sx; | ||
192 | break; | ||
193 | default: | ||
194 | @@ -941,39 +941,39 @@ | ||
195 | r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) ); | ||
196 | r = r.normalize(); | ||
197 | |||
198 | - QPoint oldBrushOffs = brushoffs; | ||
199 | + QPoint oldBrushOffs = this->brushoffs; | ||
200 | int brx, bry; | ||
201 | switch ( qt_trans_screen->transformation() ) { | ||
202 | case QTransformedScreen::Rot90: | ||
203 | - brx = brushoffs.y(); | ||
204 | - bry = srcwidth - brushoffs.x() - w; | ||
205 | + brx = this->brushoffs.y(); | ||
206 | + bry = this->srcwidth - this->brushoffs.x() - w; | ||
207 | break; | ||
208 | case QTransformedScreen::Rot180: | ||
209 | - brx = srcwidth - brushoffs.x() - w; | ||
210 | - bry = srcheight - brushoffs.y() - h; | ||
211 | + brx = this->srcwidth - this->brushoffs.x() - w; | ||
212 | + bry = this->srcheight - this->brushoffs.y() - h; | ||
213 | break; | ||
214 | case QTransformedScreen::Rot270: | ||
215 | - brx = srcheight - brushoffs.y() - h; | ||
216 | - bry = brushoffs.x(); | ||
217 | + brx = this->srcheight - this->brushoffs.y() - h; | ||
218 | + bry = this->brushoffs.x(); | ||
219 | break; | ||
220 | default: | ||
221 | - brx = brushoffs.x(); | ||
222 | - bry = brushoffs.y(); | ||
223 | + brx = this->brushoffs.x(); | ||
224 | + bry = this->brushoffs.y(); | ||
225 | break; | ||
226 | } | ||
227 | - brushoffs = QPoint( brx, bry ); | ||
228 | + this->brushoffs = QPoint( brx, bry ); | ||
229 | |||
230 | - int oldsw = srcwidth; | ||
231 | - int oldsh = srcheight; | ||
232 | - QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) ); | ||
233 | - srcwidth = s.width(); | ||
234 | - srcheight = s.height(); | ||
235 | + int oldsw = this->srcwidth; | ||
236 | + int oldsh = this->srcheight; | ||
237 | + QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) ); | ||
238 | + this->srcwidth = s.width(); | ||
239 | + this->srcheight = s.height(); | ||
240 | |||
241 | QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() ); | ||
242 | |||
243 | - srcwidth = oldsw; | ||
244 | - srcheight = oldsh; | ||
245 | - brushoffs = oldBrushOffs; | ||
246 | + this->srcwidth = oldsw; | ||
247 | + this->srcheight = oldsh; | ||
248 | + this->brushoffs = oldBrushOffs; | ||
249 | inDraw = FALSE; | ||
250 | } | ||
251 | |||
252 | diff -ur qt-2.3.8_clean/src/kernel/qgfxvfb_qws.cpp qt-2.3.8/src/kernel/qgfxvfb_qws.cpp | ||
253 | --- qt-2.3.8_clean/src/kernel/qgfxvfb_qws.cpp2004-06-04 02:17:53.000000000 +0200 | ||
254 | +++ qt-2.3.8/src/kernel/qgfxvfb_qws.cpp2004-06-04 02:24:25.000000000 +0200 | ||
255 | @@ -31,7 +31,6 @@ | ||
256 | **********************************************************************/ | ||
257 | |||
258 | #include "qgfxraster_qws.h" | ||
259 | - | ||
260 | #ifndef QT_NO_QWS_VFB | ||
261 | |||
262 | #include <sys/ipc.h> | ||
263 | @@ -140,8 +139,8 @@ | ||
264 | void QGfxVFb<depth,type>::drawPoint( int x, int y ) | ||
265 | { | ||
266 | QWSDisplay::grab( TRUE ); | ||
267 | - if ( is_screen_gfx ) | ||
268 | -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) ); | ||
269 | + if ( this->is_screen_gfx ) | ||
270 | +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) ); | ||
271 | QGfxRaster<depth,type>::drawPoint( x, y ); | ||
272 | QWSDisplay::ungrab(); | ||
273 | } | ||
274 | @@ -150,8 +149,8 @@ | ||
275 | void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y ) | ||
276 | { | ||
277 | QWSDisplay::grab( TRUE ); | ||
278 | - if ( is_screen_gfx ) | ||
279 | -qvfb_screen->setDirty( clipbounds ); | ||
280 | + if ( this->is_screen_gfx ) | ||
281 | +qvfb_screen->setDirty( this->clipbounds ); | ||
282 | QGfxRaster<depth,type>::drawPoints( pa, x, y ); | ||
283 | QWSDisplay::ungrab(); | ||
284 | } | ||
285 | @@ -160,9 +159,9 @@ | ||
286 | void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 ) | ||
287 | { | ||
288 | QWSDisplay::grab( TRUE ); | ||
289 | - if ( is_screen_gfx ) { | ||
290 | + if ( this->is_screen_gfx ) { | ||
291 | QRect r; | ||
292 | -r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); | ||
293 | +r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); | ||
294 | qvfb_screen->setDirty( r.normalize() ); | ||
295 | } | ||
296 | QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); | ||
297 | @@ -173,8 +172,8 @@ | ||
298 | void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h ) | ||
299 | { | ||
300 | QWSDisplay::grab( TRUE ); | ||
301 | - if ( is_screen_gfx ) | ||
302 | -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); | ||
303 | + if ( this->is_screen_gfx ) | ||
304 | +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); | ||
305 | QGfxRaster<depth,type>::fillRect( x, y, w, h ); | ||
306 | QWSDisplay::ungrab(); | ||
307 | } | ||
308 | @@ -183,8 +182,8 @@ | ||
309 | void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y ) | ||
310 | { | ||
311 | QWSDisplay::grab( TRUE ); | ||
312 | - if ( is_screen_gfx ) | ||
313 | -qvfb_screen->setDirty( clipbounds ); | ||
314 | + if ( this->is_screen_gfx ) | ||
315 | +qvfb_screen->setDirty( this->clipbounds ); | ||
316 | QGfxRaster<depth,type>::drawPolyline( pa, x, y ); | ||
317 | QWSDisplay::ungrab(); | ||
318 | } | ||
319 | @@ -193,8 +192,8 @@ | ||
320 | void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y ) | ||
321 | { | ||
322 | QWSDisplay::grab( TRUE ); | ||
323 | - if ( is_screen_gfx ) | ||
324 | -qvfb_screen->setDirty( clipbounds ); | ||
325 | + if ( this->is_screen_gfx ) | ||
326 | +qvfb_screen->setDirty( this->clipbounds ); | ||
327 | QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); | ||
328 | QWSDisplay::ungrab(); | ||
329 | } | ||
330 | @@ -203,8 +202,8 @@ | ||
331 | void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) | ||
332 | { | ||
333 | QWSDisplay::grab( TRUE ); | ||
334 | - if ( is_screen_gfx ) | ||
335 | -qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); | ||
336 | + if ( this->is_screen_gfx ) | ||
337 | +qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); | ||
338 | QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); | ||
339 | QWSDisplay::ungrab(); | ||
340 | } | ||
341 | @@ -215,8 +214,8 @@ | ||
342 | QWSDisplay::grab( TRUE ); | ||
343 | int dy = sy - y; | ||
344 | int dx = sx - x; | ||
345 | - if ( is_screen_gfx ) | ||
346 | -qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, | ||
347 | + if ( this->is_screen_gfx ) | ||
348 | +qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, | ||
349 | w+abs(dx), h+abs(dy)) ); | ||
350 | QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); | ||
351 | QWSDisplay::ungrab(); | ||
352 | @@ -227,8 +226,8 @@ | ||
353 | void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) | ||
354 | { | ||
355 | QWSDisplay::grab( TRUE ); | ||
356 | - if ( is_screen_gfx ) | ||
357 | -qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) ); | ||
358 | + if ( this->is_screen_gfx ) | ||
359 | +qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) ); | ||
360 | QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); | ||
361 | QWSDisplay::ungrab(); | ||
362 | } | ||
363 | @@ -238,8 +237,8 @@ | ||
364 | void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h ) | ||
365 | { | ||
366 | QWSDisplay::grab( TRUE ); | ||
367 | - if ( is_screen_gfx ) | ||
368 | -qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) ); | ||
369 | + if ( this->is_screen_gfx ) | ||
370 | +qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) ); | ||
371 | QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); | ||
372 | QWSDisplay::ungrab(); | ||
373 | } | ||
374 | diff -ur qt-2.3.8_clean/src/tools/qcstring.h qt-2.3.8/src/tools/qcstring.h | ||
375 | --- qt-2.3.8_clean/src/tools/qcstring.h2004-06-04 02:17:53.000000000 +0200 | ||
376 | +++ qt-2.3.8/src/tools/qcstring.h2004-06-04 02:24:25.000000000 +0200 | ||
377 | @@ -119,7 +119,7 @@ | ||
378 | // We want to keep source compatibility for 2.x | ||
379 | // ### TODO for 4.0: completely remove these and the cstr* functions | ||
380 | |||
381 | -#if !defined(QT_GENUINE_STR) | ||
382 | +#if 0 | ||
383 | |||
384 | #undefstrlen | ||
385 | #define strlen qstrlen | ||
386 | diff -ur qt-2.3.8_clean/src/tools/qglobal.h qt-2.3.8/src/tools/qglobal.h | ||
387 | --- qt-2.3.8_clean/src/tools/qglobal.h2004-06-04 02:17:53.000000000 +0200 | ||
388 | +++ qt-2.3.8/src/tools/qglobal.h2004-06-04 02:29:41.000000000 +0200 | ||
389 | @@ -207,8 +207,16 @@ | ||
390 | #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 | ||
391 | #define Q_FP_CCAST_BROKEN | ||
392 | #endif | ||
393 | +/* ARM gcc pads structs to 32 bits, even when they contain a single | ||
394 | + char, or short. We tell gcc to pack QChars to 16 bits, to avoid | ||
395 | + QString bloat. However, gcc 3.4 doesn't allow us to create references to | ||
396 | + members of a packed struct. (Pointers are OK, because then you | ||
397 | + supposedly know what you are doing.) */ | ||
398 | #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | ||
399 | #define Q_PACKED __attribute__ ((packed)) | ||
400 | +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 | ||
401 | +# define Q_NO_PACKED_REFERENCE | ||
402 | +# endif | ||
403 | #endif | ||
404 | #elif defined(__xlC__) | ||
405 | #define _CC_XLC_ | ||
406 | Nur in qt-2.3.8/src/tools: qglobal.h~. | ||
407 | diff -ur qt-2.3.8_clean/src/tools/qsortedlist.h qt-2.3.8/src/tools/qsortedlist.h | ||
408 | --- qt-2.3.8_clean/src/tools/qsortedlist.h2004-06-04 02:17:53.000000000 +0200 | ||
409 | +++ qt-2.3.8/src/tools/qsortedlist.h2004-06-04 02:24:25.000000000 +0200 | ||
410 | @@ -48,7 +48,7 @@ | ||
411 | public: | ||
412 | QSortedList() {} | ||
413 | QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} | ||
414 | - ~QSortedList() { clear(); } | ||
415 | + ~QSortedList() { this->clear(); } | ||
416 | QSortedList<type> &operator=(const QSortedList<type> &l) | ||
417 | { return (QSortedList<type>&)QList<type>::operator=(l); } | ||
418 | |||
419 | diff -ur qt-2.3.8_clean/src/tools/qstring.h qt-2.3.8/src/tools/qstring.h | ||
420 | --- qt-2.3.8_clean/src/tools/qstring.h2004-06-04 02:17:53.000000000 +0200 | ||
421 | +++ qt-2.3.8/src/tools/qstring.h2004-06-04 02:54:16.000000000 +0200 | ||
422 | @@ -163,8 +163,16 @@ | ||
423 | bool isLetterOrNumber() const; | ||
424 | bool isDigit() const; | ||
425 | |||
426 | + | ||
427 | +#ifdef Q_NO_PACKED_REFERENCE | ||
428 | + uchar& cell() { return *(&cl); } | ||
429 | + uchar& row() { return *(&rw); } | ||
430 | +#else | ||
431 | uchar& cell() { return cl; } | ||
432 | - uchar& row() { return rw; } | ||
433 | + uchar& row() { return rw; } | ||
434 | +#endif | ||
435 | + | ||
436 | + | ||
437 | uchar cell() const { return cl; } | ||
438 | uchar row() const { return rw; } | ||
439 | |||
440 | Nur in qt-2.3.8/src/tools: qstring.h~. | ||
diff --git a/qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch b/qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch deleted file mode 100644 index 57c752e..0000000 --- a/qt/qt-2.3.8.patch/qte238-hancomwordcrash.patch +++ b/dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | Not included in the ALL patch | ||
2 | |||
3 | |||
4 | |||
5 | --- qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
6 | +++ qt-2.3.8/src/kernel/qgfxraster_qws.cpp2004-07-23 19:10:03.000000000 +0200 | ||
7 | @@ -4400,7 +4400,7 @@ | ||
8 | setAlphaType(IgnoreAlpha); | ||
9 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
10 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
11 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
12 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
13 | // ### fix for 8bpp | ||
14 | // This seems to be reliable now, at least for 16bpp | ||
15 | |||
diff --git a/qt/qt-2.3.8.patch/qte238-iconviewspeed.patch b/qt/qt-2.3.8.patch/qte238-iconviewspeed.patch deleted file mode 100644 index 3351bbb..0000000 --- a/qt/qt-2.3.8.patch/qte238-iconviewspeed.patch +++ b/dev/null | |||
@@ -1,145 +0,0 @@ | |||
1 | Speed up patches backported from | ||
2 | |||
3 | http://robotics.dei.unipd.it/~koral/KDE/kflicker.html | ||
4 | |||
5 | and | ||
6 | |||
7 | http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) | ||
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
13 | |||
14 | |||
15 | diff -ur qt-2.3.8-old/src/iconview/qiconview.cpp qt-2.3.8/src/iconview/qiconview.cpp | ||
16 | --- qt-2.3.8-old/src/iconview/qiconview.cpp2004-07-22 01:07:46.000000000 +0200 | ||
17 | +++ qt-2.3.8/src/iconview/qiconview.cpp2004-07-23 19:13:09.000000000 +0200 | ||
18 | @@ -224,6 +224,7 @@ | ||
19 | QIconView::SelectionMode selectionMode; | ||
20 | QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; | ||
21 | QRect *rubber; | ||
22 | + QPixmap *backBuffer; | ||
23 | QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, | ||
24 | *fullRedrawTimer; | ||
25 | int rastX, rastY, spacing; | ||
26 | @@ -2267,6 +2268,7 @@ | ||
27 | d->currentItem = 0; | ||
28 | d->highlightedItem = 0; | ||
29 | d->rubber = 0; | ||
30 | + d->backBuffer = 0; | ||
31 | d->scrollTimer = 0; | ||
32 | d->startDragItem = 0; | ||
33 | d->tmpCurrentItem = 0; | ||
34 | @@ -2415,6 +2417,8 @@ | ||
35 | delete item; | ||
36 | item = tmp; | ||
37 | } | ||
38 | + delete d->backBuffer; | ||
39 | + d->backBuffer = 0; | ||
40 | delete d->fm; | ||
41 | d->fm = 0; | ||
42 | #ifndef QT_NO_TOOLTIP | ||
43 | @@ -2881,6 +2885,48 @@ | ||
44 | } | ||
45 | |||
46 | /*! | ||
47 | + This function grabs all paintevents that otherwise would have been | ||
48 | + processed by the QScrollView::viewportPaintEvent(). Here we use a | ||
49 | + doublebuffer to reduce 'on-paint' flickering on QIconView | ||
50 | + (and of course its childs). | ||
51 | + | ||
52 | + \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() | ||
53 | +*/ | ||
54 | + | ||
55 | +void QIconView::bufferedPaintEvent( QPaintEvent* pe ) | ||
56 | +{ | ||
57 | + QWidget* vp = viewport(); | ||
58 | + QRect r = pe->rect() & vp->rect(); | ||
59 | + int ex = r.x() + contentsX(); | ||
60 | + int ey = r.y() + contentsY(); | ||
61 | + int ew = r.width(); | ||
62 | + int eh = r.height(); | ||
63 | + | ||
64 | + if ( !d->backBuffer ) | ||
65 | +d->backBuffer = new QPixmap(vp->size()); | ||
66 | + if ( d->backBuffer->size() != vp->size() ) { | ||
67 | +//Resize function (with hysteesis). Uses a good compromise between memory | ||
68 | +//consumption and speed (number) of resizes. | ||
69 | + float newWidth = (float)vp->width(); | ||
70 | +float newHeight = (float)vp->height(); | ||
71 | +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) | ||
72 | +{ | ||
73 | + newWidth *= 1.1892; | ||
74 | + newHeight *= 1.1892; | ||
75 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | ||
76 | +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) | ||
77 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | ||
78 | + } | ||
79 | + | ||
80 | + QPainter p; | ||
81 | + p.begin(d->backBuffer, vp); | ||
82 | + drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); | ||
83 | + p.end(); | ||
84 | + bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); | ||
85 | +} | ||
86 | + | ||
87 | +/*! | ||
88 | + | ||
89 | \reimp | ||
90 | */ | ||
91 | |||
92 | @@ -4937,7 +4983,7 @@ | ||
93 | if ( !d->rubber ) | ||
94 | drawDragShapes( d->oldDragPos ); | ||
95 | } | ||
96 | - viewportPaintEvent( (QPaintEvent*)e ); | ||
97 | + bufferedPaintEvent ((QPaintEvent*)e ); | ||
98 | if ( d->dragging ) { | ||
99 | if ( !d->rubber ) | ||
100 | drawDragShapes( d->oldDragPos ); | ||
101 | @@ -5374,11 +5420,19 @@ | ||
102 | return; | ||
103 | |||
104 | if ( item->d->container1 && d->firstContainer ) { | ||
105 | -item->d->container1->items.removeRef( item ); | ||
106 | + //Special-case checking of the last item, since this may be | ||
107 | + //called a few times for the same item. | ||
108 | + if (item->d->container1->items.last() == item) | ||
109 | + item->d->container1->items.removeLast(); | ||
110 | + else | ||
111 | + item->d->container1->items.removeRef( item ); | ||
112 | } | ||
113 | item->d->container1 = 0; | ||
114 | if ( item->d->container2 && d->firstContainer ) { | ||
115 | -item->d->container2->items.removeRef( item ); | ||
116 | + if (item->d->container2->items.last() == item) | ||
117 | + item->d->container2->items.removeLast(); | ||
118 | + else | ||
119 | + item->d->container2->items.removeRef( item ); | ||
120 | } | ||
121 | item->d->container2 = 0; | ||
122 | |||
123 | diff -ur qt-2.3.8-old/src/iconview/qiconview.h qt-2.3.8/src/iconview/qiconview.h | ||
124 | --- qt-2.3.8-old/src/iconview/qiconview.h2004-07-22 01:07:46.000000000 +0200 | ||
125 | +++ qt-2.3.8/src/iconview/qiconview.h2004-07-23 19:13:09.000000000 +0200 | ||
126 | @@ -444,6 +444,7 @@ | ||
127 | virtual void contentsDropEvent( QDropEvent *e ); | ||
128 | #endif | ||
129 | |||
130 | + void bufferedPaintEvent( QPaintEvent* ); | ||
131 | virtual void resizeEvent( QResizeEvent* e ); | ||
132 | virtual void keyPressEvent( QKeyEvent *e ); | ||
133 | virtual void focusInEvent( QFocusEvent *e ); | ||
134 | --- qt-2.3.8-old/src/widgets/qscrollview.cpp2004-07-22 01:07:44.000000000 +0200 | ||
135 | +++ qt-2.3.8/src/widgets/qscrollview.cpp2004-07-23 19:21:06.000000000 +0200 | ||
136 | @@ -1280,6 +1280,9 @@ | ||
137 | case QEvent::LayoutHint: | ||
138 | d->autoResizeHint(this); | ||
139 | break; | ||
140 | +case QEvent::WindowActivate: | ||
141 | +case QEvent::WindowDeactivate: | ||
142 | + return TRUE; | ||
143 | default: | ||
144 | break; | ||
145 | } | ||
diff --git a/qt/qt-2.3.8.patch/qte238-keyboard.patch b/qt/qt-2.3.8.patch/qte238-keyboard.patch deleted file mode 100644 index 0ac321f..0000000 --- a/qt/qt-2.3.8.patch/qte238-keyboard.patch +++ b/dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | Free the Virtual Terminal and Keyboard on a segfault in all cases... | ||
2 | |||
3 | |||
4 | diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp | ||
5 | --- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
6 | +++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp2004-07-23 19:13:52.000000000 +0200 | ||
7 | @@ -314,7 +314,7 @@ | ||
8 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63 | ||
9 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64 | ||
10 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65 | ||
11 | - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66 | ||
12 | + { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 | ||
13 | { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 | ||
14 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68 | ||
15 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69 | ||
16 | Nur in qt-2.3.8/src/kernel/: qkeyboard_qws.cpp.orig. | ||
17 | diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp | ||
18 | --- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp2004-07-22 01:07:45.000000000 +0200 | ||
19 | +++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp2004-07-23 19:13:52.000000000 +0200 | ||
20 | @@ -1273,6 +1273,18 @@ | ||
21 | { | ||
22 | } | ||
23 | |||
24 | +static void catchSegvSignal( int ) | ||
25 | +{ | ||
26 | +#ifndef QT_NO_QWS_KEYBOARD | ||
27 | + if ( qwsServer ) | ||
28 | +qwsServer->closeKeyboard(); | ||
29 | +#endif | ||
30 | + QWSServer::closedown(); | ||
31 | + fprintf(stderr, "Segmentation fault.\n"); | ||
32 | + exit(1); | ||
33 | +} | ||
34 | + | ||
35 | + | ||
36 | /*! | ||
37 | \class QWSServer qwindowsystem_qws.h | ||
38 | \brief Server-specific functionality in Qt/Embedded | ||
39 | @@ -1365,6 +1377,7 @@ | ||
40 | } | ||
41 | |||
42 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
43 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
44 | #endif | ||
45 | focusw = 0; | ||
46 | mouseGrabber = 0; | ||
47 | Nur in qt-2.3.8/src/kernel/: qwindowsystem_qws.cpp.orig. | ||
diff --git a/qt/qt-2.3.9.patch/qte239-all.patch b/qt/qt-2.3.9.patch/qte239-all.patch deleted file mode 100644 index 533652d..0000000 --- a/qt/qt-2.3.9.patch/qte239-all.patch +++ b/dev/null | |||
@@ -1,510 +0,0 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- qt-2.3.9-snapshot-20041102/src/iconview/qiconview.cpp~qte239-all | ||
7 | +++ qt-2.3.9-snapshot-20041102/src/iconview/qiconview.cpp | ||
8 | @@ -225,6 +225,7 @@ | ||
9 | QIconView::SelectionMode selectionMode; | ||
10 | QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; | ||
11 | QRect *rubber; | ||
12 | + QPixmap *backBuffer; | ||
13 | QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, | ||
14 | *fullRedrawTimer; | ||
15 | int rastX, rastY, spacing; | ||
16 | @@ -2268,6 +2269,7 @@ | ||
17 | d->currentItem = 0; | ||
18 | d->highlightedItem = 0; | ||
19 | d->rubber = 0; | ||
20 | + d->backBuffer = 0; | ||
21 | d->scrollTimer = 0; | ||
22 | d->startDragItem = 0; | ||
23 | d->tmpCurrentItem = 0; | ||
24 | @@ -2416,6 +2418,8 @@ | ||
25 | delete item; | ||
26 | item = tmp; | ||
27 | } | ||
28 | + delete d->backBuffer; | ||
29 | + d->backBuffer = 0; | ||
30 | delete d->fm; | ||
31 | d->fm = 0; | ||
32 | #ifndef QT_NO_TOOLTIP | ||
33 | @@ -2882,6 +2886,48 @@ | ||
34 | } | ||
35 | |||
36 | /*! | ||
37 | + This function grabs all paintevents that otherwise would have been | ||
38 | + processed by the QScrollView::viewportPaintEvent(). Here we use a | ||
39 | + doublebuffer to reduce 'on-paint' flickering on QIconView | ||
40 | + (and of course its childs). | ||
41 | + | ||
42 | + \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() | ||
43 | +*/ | ||
44 | + | ||
45 | +void QIconView::bufferedPaintEvent( QPaintEvent* pe ) | ||
46 | +{ | ||
47 | + QWidget* vp = viewport(); | ||
48 | + QRect r = pe->rect() & vp->rect(); | ||
49 | + int ex = r.x() + contentsX(); | ||
50 | + int ey = r.y() + contentsY(); | ||
51 | + int ew = r.width(); | ||
52 | + int eh = r.height(); | ||
53 | + | ||
54 | + if ( !d->backBuffer ) | ||
55 | +d->backBuffer = new QPixmap(vp->size()); | ||
56 | + if ( d->backBuffer->size() != vp->size() ) { | ||
57 | +//Resize function (with hysteesis). Uses a good compromise between memory | ||
58 | +//consumption and speed (number) of resizes. | ||
59 | + float newWidth = (float)vp->width(); | ||
60 | +float newHeight = (float)vp->height(); | ||
61 | +if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) | ||
62 | +{ | ||
63 | + newWidth *= 1.1892; | ||
64 | + newHeight *= 1.1892; | ||
65 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | ||
66 | +} else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) | ||
67 | + d->backBuffer->resize( (int)newWidth, (int)newHeight ); | ||
68 | + } | ||
69 | + | ||
70 | + QPainter p; | ||
71 | + p.begin(d->backBuffer, vp); | ||
72 | + drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); | ||
73 | + p.end(); | ||
74 | + bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); | ||
75 | +} | ||
76 | + | ||
77 | +/*! | ||
78 | + | ||
79 | \reimp | ||
80 | */ | ||
81 | |||
82 | @@ -4939,7 +4985,7 @@ | ||
83 | if ( !d->rubber ) | ||
84 | drawDragShapes( d->oldDragPos ); | ||
85 | } | ||
86 | - viewportPaintEvent( (QPaintEvent*)e ); | ||
87 | + bufferedPaintEvent ((QPaintEvent*)e ); | ||
88 | if ( d->dragging ) { | ||
89 | if ( !d->rubber ) | ||
90 | drawDragShapes( d->oldDragPos ); | ||
91 | @@ -5377,11 +5423,19 @@ | ||
92 | return; | ||
93 | |||
94 | if ( item->d->container1 && d->firstContainer ) { | ||
95 | -item->d->container1->items.removeRef( item ); | ||
96 | + //Special-case checking of the last item, since this may be | ||
97 | + //called a few times for the same item. | ||
98 | + if (item->d->container1->items.last() == item) | ||
99 | + item->d->container1->items.removeLast(); | ||
100 | + else | ||
101 | + item->d->container1->items.removeRef( item ); | ||
102 | } | ||
103 | item->d->container1 = 0; | ||
104 | if ( item->d->container2 && d->firstContainer ) { | ||
105 | -item->d->container2->items.removeRef( item ); | ||
106 | + if (item->d->container2->items.last() == item) | ||
107 | + item->d->container2->items.removeLast(); | ||
108 | + else | ||
109 | + item->d->container2->items.removeRef( item ); | ||
110 | } | ||
111 | item->d->container2 = 0; | ||
112 | |||
113 | --- qt-2.3.9-snapshot-20041102/src/iconview/qiconview.h~qte239-all | ||
114 | +++ qt-2.3.9-snapshot-20041102/src/iconview/qiconview.h | ||
115 | @@ -444,6 +444,7 @@ | ||
116 | virtual void contentsDropEvent( QDropEvent *e ); | ||
117 | #endif | ||
118 | |||
119 | + void bufferedPaintEvent( QPaintEvent* ); | ||
120 | virtual void resizeEvent( QResizeEvent* e ); | ||
121 | virtual void keyPressEvent( QKeyEvent *e ); | ||
122 | virtual void focusInEvent( QFocusEvent *e ); | ||
123 | --- qt-2.3.9-snapshot-20041102/src/kernel/qapplication.cpp~qte239-all | ||
124 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication.cpp | ||
125 | @@ -35,6 +35,8 @@ | ||
126 | ** | ||
127 | **********************************************************************/ | ||
128 | |||
129 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
130 | + | ||
131 | #include "qobjectlist.h" | ||
132 | #include "qobjectdict.h" | ||
133 | #include "qapplication.h" | ||
134 | @@ -937,11 +939,16 @@ | ||
135 | #ifndef QT_NO_STYLE | ||
136 | void QApplication::setStyle( QStyle *style ) | ||
137 | { | ||
138 | +setStyle_NonWeak ( style ); | ||
139 | +} | ||
140 | + | ||
141 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
142 | +{ | ||
143 | QStyle* old = app_style; | ||
144 | - app_style = style; | ||
145 | |||
146 | if ( startingUp() ) { | ||
147 | delete old; | ||
148 | +app_style = style; | ||
149 | return; | ||
150 | } | ||
151 | |||
152 | @@ -962,6 +969,8 @@ | ||
153 | old->unPolish( qApp ); | ||
154 | } | ||
155 | |||
156 | + app_style = style; | ||
157 | + | ||
158 | // take care of possible palette requirements of certain gui | ||
159 | // styles. Do it before polishing the application since the style | ||
160 | // might call QApplication::setStyle() itself | ||
161 | @@ -1188,13 +1197,30 @@ | ||
162 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
163 | */ | ||
164 | |||
165 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
166 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
167 | + const char* className ) | ||
168 | +{ | ||
169 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
170 | +} | ||
171 | + | ||
172 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
173 | const char* className ) | ||
174 | { | ||
175 | QPalette pal = palette; | ||
176 | #ifndef QT_NO_STYLE | ||
177 | - if ( !startingUp() ) | ||
178 | + if ( !startingUp() ) { | ||
179 | qApp->style().polish( pal );// NB: non-const reference | ||
180 | +if ( className ) { | ||
181 | + // if we just polished a class specific palette (this normally | ||
182 | + // only called by qt_fix_tooltips - see below), we better re- | ||
183 | + // polish the global palette. Some styles like liquid can get | ||
184 | + // confused, because they can not detect if the polished palette | ||
185 | + // is the global one or only a class specific one. | ||
186 | + // (liquid uses this palette to calculate blending pixmaps) | ||
187 | + QPalette p = qApp-> palette ( ); | ||
188 | + qApp->style().polish ( p ); | ||
189 | +} | ||
190 | + } | ||
191 | #endif | ||
192 | bool all = FALSE; | ||
193 | if ( !className ) { | ||
194 | @@ -1279,6 +1305,12 @@ | ||
195 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
196 | const char* className ) | ||
197 | { | ||
198 | +setFont_NonWeak ( font, informWidgets, className ); | ||
199 | +} | ||
200 | + | ||
201 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
202 | + const char* className ) | ||
203 | +{ | ||
204 | bool all = FALSE; | ||
205 | if ( !className ) { | ||
206 | if ( !app_font ) { | ||
207 | --- qt-2.3.9-snapshot-20041102/src/kernel/qapplication.h~qte239-all | ||
208 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication.h | ||
209 | @@ -61,6 +61,10 @@ | ||
210 | class QSemaphore; | ||
211 | #endif | ||
212 | |||
213 | +#if !defined( QT_WEAK_SYMBOL ) | ||
214 | +#define QT_WEAK_SYMBOL | ||
215 | +#endif | ||
216 | + | ||
217 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
218 | #define QNonBaseApplication QApplication | ||
219 | |||
220 | @@ -85,7 +89,10 @@ | ||
221 | |||
222 | #ifndef QT_NO_STYLE | ||
223 | static QStyle &style(); | ||
224 | - static void setStyle( QStyle* ); | ||
225 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
226 | +private: | ||
227 | +static void setStyle_NonWeak( QStyle* ); | ||
228 | +public: | ||
229 | #endif | ||
230 | #if 1/* OBSOLETE */ | ||
231 | enum ColorMode { NormalColors, CustomColors }; | ||
232 | @@ -106,11 +113,19 @@ | ||
233 | #ifndef QT_NO_PALETTE | ||
234 | static QPalette palette( const QWidget* = 0 ); | ||
235 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
236 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
237 | +private: | ||
238 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
239 | const char* className = 0 ); | ||
240 | +public: | ||
241 | #endif | ||
242 | static QFont font( const QWidget* = 0 ); | ||
243 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
244 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
245 | +private: | ||
246 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
247 | const char* className = 0 ); | ||
248 | +public: | ||
249 | static QFontMetrics fontMetrics(); | ||
250 | |||
251 | QWidget *mainWidget() const; | ||
252 | @@ -207,7 +222,10 @@ | ||
253 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
254 | #ifndef QT_NO_QWS_MANAGER | ||
255 | static QWSDecoration &qwsDecoration(); | ||
256 | - static void qwsSetDecoration( QWSDecoration *); | ||
257 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
258 | +private: | ||
259 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
260 | +public: | ||
261 | #endif | ||
262 | #endif | ||
263 | |||
264 | --- qt-2.3.9-snapshot-20041102/src/kernel/qapplication_qws.cpp~qte239-all | ||
265 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication_qws.cpp | ||
266 | @@ -2905,6 +2905,11 @@ | ||
267 | */ | ||
268 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
269 | { | ||
270 | +qwsSetDecoration_NonWeak ( d ); | ||
271 | +} | ||
272 | + | ||
273 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
274 | +{ | ||
275 | if ( d ) { | ||
276 | delete qws_decoration; | ||
277 | qws_decoration = d; | ||
278 | --- qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.cpp~qte239-all | ||
279 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.cpp | ||
280 | @@ -35,6 +35,8 @@ | ||
281 | ** | ||
282 | **********************************************************************/ | ||
283 | |||
284 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
285 | + | ||
286 | #include "qfontdatabase.h" | ||
287 | |||
288 | #ifndef QT_NO_FONTDATABASE | ||
289 | @@ -2424,6 +2426,13 @@ | ||
290 | const QString &style, | ||
291 | const QString &charSet ) | ||
292 | { | ||
293 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
294 | +} | ||
295 | + | ||
296 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
297 | + const QString &style, | ||
298 | + const QString &charSet ) | ||
299 | +{ | ||
300 | QString cs( charSet ); | ||
301 | if ( charSet.isEmpty() ) { | ||
302 | QStringList lst = charSets( family ); | ||
303 | --- qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.h~qte239-all | ||
304 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.h | ||
305 | @@ -59,6 +59,10 @@ | ||
306 | class QDiskFont; | ||
307 | #endif | ||
308 | |||
309 | +#if !defined( QT_WEAK_SYMBOL ) | ||
310 | +#define QT_WEAK_SYMBOL | ||
311 | +#endif | ||
312 | + | ||
313 | class QFontDatabasePrivate; | ||
314 | |||
315 | class Q_EXPORT QFontDatabase | ||
316 | @@ -67,9 +71,16 @@ | ||
317 | QFontDatabase(); | ||
318 | |||
319 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
320 | + | ||
321 | + | ||
322 | QValueList<int> pointSizes( const QString &family, | ||
323 | const QString &style = QString::null, | ||
324 | - const QString &charSet = QString::null ); | ||
325 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
326 | +private: | ||
327 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
328 | + const QString &style, | ||
329 | + const QString &charSet ); | ||
330 | +public: | ||
331 | QStringList styles( const QString &family, | ||
332 | const QString &charSet = QString::null ) const; | ||
333 | QStringList charSets( const QString &familyName, | ||
334 | --- qt-2.3.9-snapshot-20041102/src/kernel/qgfxraster_qws.cpp~qte239-all | ||
335 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qgfxraster_qws.cpp | ||
336 | @@ -4408,7 +4408,7 @@ | ||
337 | setAlphaType(IgnoreAlpha); | ||
338 | if ( w <= 0 || h <= 0 || !ncliprect ) return; | ||
339 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
340 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
341 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
342 | // ### fix for 8bpp | ||
343 | // This seems to be reliable now, at least for 16bpp | ||
344 | |||
345 | --- qt-2.3.9-snapshot-20041102/src/kernel/qkeyboard_qws.cpp~qte239-all | ||
346 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qkeyboard_qws.cpp | ||
347 | @@ -314,7 +314,7 @@ | ||
348 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63 | ||
349 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64 | ||
350 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65 | ||
351 | - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66 | ||
352 | + { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 | ||
353 | { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 | ||
354 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68 | ||
355 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69 | ||
356 | --- qt-2.3.9-snapshot-20041102/src/kernel/qwindowsystem_qws.cpp~qte239-all | ||
357 | +++ qt-2.3.9-snapshot-20041102/src/kernel/qwindowsystem_qws.cpp | ||
358 | @@ -913,6 +913,18 @@ | ||
359 | { | ||
360 | } | ||
361 | |||
362 | +static void catchSegvSignal( int ) | ||
363 | +{ | ||
364 | +#ifndef QT_NO_QWS_KEYBOARD | ||
365 | + if ( qwsServer ) | ||
366 | +qwsServer->closeKeyboard(); | ||
367 | +#endif | ||
368 | + QWSServer::closedown(); | ||
369 | + fprintf(stderr, "Segmentation fault.\n"); | ||
370 | + exit(1); | ||
371 | +} | ||
372 | + | ||
373 | + | ||
374 | /*! | ||
375 | \class QWSServer qwindowsystem_qws.h | ||
376 | \brief Server-specific functionality in Qt/Embedded | ||
377 | @@ -1038,6 +1050,7 @@ | ||
378 | } | ||
379 | |||
380 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
381 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
382 | #endif | ||
383 | focusw = 0; | ||
384 | mouseGrabber = 0; | ||
385 | --- qt-2.3.9-snapshot-20041102/src/tools/qcstring.h~qte239-all | ||
386 | +++ qt-2.3.9-snapshot-20041102/src/tools/qcstring.h | ||
387 | @@ -119,7 +119,7 @@ | ||
388 | // We want to keep source compatibility for 2.x | ||
389 | // ### TODO for 4.0: completely remove these and the cstr* functions | ||
390 | |||
391 | -#if !defined(QT_GENUINE_STR) | ||
392 | +#if 0 | ||
393 | |||
394 | #undefstrlen | ||
395 | #define strlen qstrlen | ||
396 | --- qt-2.3.9-snapshot-20041102/src/tools/qglobal.h~qte239-all | ||
397 | +++ qt-2.3.9-snapshot-20041102/src/tools/qglobal.h | ||
398 | @@ -207,8 +207,16 @@ | ||
399 | #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 | ||
400 | #define Q_FP_CCAST_BROKEN | ||
401 | #endif | ||
402 | +/* ARM gcc pads structs to 32 bits, even when they contain a single | ||
403 | + char, or short. We tell gcc to pack QChars to 16 bits, to avoid | ||
404 | + QString bloat. However, gcc 3.4 doesn't allow us to create references to | ||
405 | + members of a packed struct. (Pointers are OK, because then you | ||
406 | + supposedly know what you are doing.) */ | ||
407 | #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) | ||
408 | #define Q_PACKED __attribute__ ((packed)) | ||
409 | +# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 | ||
410 | +# define Q_NO_PACKED_REFERENCE | ||
411 | +# endif | ||
412 | #endif | ||
413 | #elif defined(__xlC__) | ||
414 | #define _CC_XLC_ | ||
415 | --- qt-2.3.9-snapshot-20041102/src/tools/qstring.cpp~qte239-all | ||
416 | +++ qt-2.3.9-snapshot-20041102/src/tools/qstring.cpp | ||
417 | @@ -14469,7 +14469,11 @@ | ||
418 | return qt_winQString2MB( *this ); | ||
419 | #endif | ||
420 | #ifdef _WS_QWS_ | ||
421 | - return utf8(); // ##### if there is ANY 8 bit format supported? | ||
422 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
423 | + return codec | ||
424 | + ? codec->fromUnicode(*this) | ||
425 | + : utf8(); | ||
426 | + //return latin1(); // ##### if there is ANY 8 bit format supported? | ||
427 | #endif | ||
428 | #endif | ||
429 | } | ||
430 | @@ -14515,7 +14519,12 @@ | ||
431 | return qt_winMB2QString( local8Bit ); | ||
432 | #endif | ||
433 | #ifdef _WS_QWS_ | ||
434 | - return fromUtf8(local8Bit,len); | ||
435 | + QTextCodec* codec = QTextCodec::codecForLocale(); | ||
436 | + if( len < 0) len = qstrlen(local8Bit); | ||
437 | + return codec | ||
438 | + ? codec->toUnicode(local8Bit, len) | ||
439 | + : QString::fromUtf8(local8Bit,len); | ||
440 | +// return fromLatin1(local8Bit,len); | ||
441 | #endif | ||
442 | #endif // QT_NO_TEXTCODEC | ||
443 | } | ||
444 | --- qt-2.3.9-snapshot-20041102/src/widgets/qcommonstyle.cpp~qte239-all | ||
445 | +++ qt-2.3.9-snapshot-20041102/src/widgets/qcommonstyle.cpp | ||
446 | @@ -572,7 +572,7 @@ | ||
447 | bool enabled, bool active ) | ||
448 | { | ||
449 | #ifndef QT_NO_MENUBAR | ||
450 | -#ifndef QT_NO_STYLE_SGI | ||
451 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
452 | if (draw_menu_bar_impl != 0) { | ||
453 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
454 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
455 | --- qt-2.3.9-snapshot-20041102/src/widgets/qlistview.cpp~qte239-all | ||
456 | +++ qt-2.3.9-snapshot-20041102/src/widgets/qlistview.cpp | ||
457 | @@ -5051,9 +5051,9 @@ | ||
458 | l = l->childItem ? l->childItem : l->siblingItem; | ||
459 | |||
460 | if ( l && l->height() ) | ||
461 | -s.setHeight( s.height() + 10 * l->height() ); | ||
462 | - else | ||
463 | -s.setHeight( s.height() + 140 ); | ||
464 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
465 | + else // ^v much too big for handhelds | ||
466 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
467 | |||
468 | if ( s.width() > s.height() * 3 ) | ||
469 | s.setHeight( s.width() / 3 ); | ||
470 | --- qt-2.3.9-snapshot-20041102/src/widgets/qscrollview.cpp~qte239-all | ||
471 | +++ qt-2.3.9-snapshot-20041102/src/widgets/qscrollview.cpp | ||
472 | @@ -1285,6 +1285,9 @@ | ||
473 | case QEvent::LayoutHint: | ||
474 | d->autoResizeHint(this); | ||
475 | break; | ||
476 | +case QEvent::WindowActivate: | ||
477 | +case QEvent::WindowDeactivate: | ||
478 | + return TRUE; | ||
479 | default: | ||
480 | break; | ||
481 | } | ||
482 | --- qt-2.3.9-snapshot-20041102/src/widgets/qtoolbutton.cpp~qte239-all | ||
483 | +++ qt-2.3.9-snapshot-20041102/src/widgets/qtoolbutton.cpp | ||
484 | @@ -238,7 +238,7 @@ | ||
485 | else | ||
486 | QToolTip::add( this, textLabel ); | ||
487 | } | ||
488 | -#endif | ||
489 | +#endif | ||
490 | } | ||
491 | |||
492 | |||
493 | @@ -332,12 +332,12 @@ | ||
494 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
495 | w = pm.width(); | ||
496 | h = pm.height(); | ||
497 | -if ( w < 32 ) | ||
498 | - w = 32; | ||
499 | -if ( h < 32 ) | ||
500 | - h = 32; | ||
501 | +if ( w < 24 ) | ||
502 | + w = 24; | ||
503 | +if ( h < 24 ) | ||
504 | + h = 24; | ||
505 | } else { | ||
506 | -w = h = 16; | ||
507 | +w = h = 14; | ||
508 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
509 | w = pm.width(); | ||
510 | h = pm.height(); | ||
diff --git a/qt/qt-2.3.9.patch/qte239-qwsmouse.patch b/qt/qt-2.3.9.patch/qte239-qwsmouse.patch deleted file mode 100644 index 865516e..0000000 --- a/qt/qt-2.3.9.patch/qte239-qwsmouse.patch +++ b/dev/null | |||
@@ -1,301 +0,0 @@ | |||
1 | # | ||
2 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
3 | # | ||
4 | |||
5 | --- qt-2.3.9-snapshot-20041211/src/kernel/qwsmouse_qws.cpp~tslib.patch | ||
6 | +++ qt-2.3.9-snapshot-20041211/src/kernel/qwsmouse_qws.cpp | ||
7 | @@ -7,6 +7,14 @@ | ||
8 | ** | ||
9 | ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. | ||
10 | ** | ||
11 | +** Portions Copyright (C) 2003 Texas Instruments, Inc. | ||
12 | +** Rights to said portions for use under the GPL and QPL licenses | ||
13 | +** are hereby granted to Trolltech AS. | ||
14 | +** | ||
15 | +** Portions Copyright (C) 2004 Holger Hans Peter Freyther <freyther@handhelds.org> | ||
16 | +** Rights to said portions for use under the GPL and QPL licenses | ||
17 | +** are hereby granted to Trolltech AS. | ||
18 | +** | ||
19 | ** This file is part of the kernel module of the Qt GUI Toolkit. | ||
20 | ** | ||
21 | ** This file may be distributed and/or modified under the terms of the | ||
22 | @@ -60,6 +68,10 @@ | ||
23 | #include <linux/tpanel.h> | ||
24 | #endif | ||
25 | |||
26 | +#ifdef QWS_TSLIB | ||
27 | +#include <tslib.h> | ||
28 | +#endif | ||
29 | + | ||
30 | //#define QT_QWS_K2 | ||
31 | |||
32 | #if defined(QT_QWS_IPAQ) || defined(QT_QWS_K2) | ||
33 | @@ -1124,6 +1136,221 @@ | ||
34 | return sent; | ||
35 | } | ||
36 | |||
37 | + | ||
38 | +class QTSLibHandler : public QCalibratedMouseHandler | ||
39 | +{ | ||
40 | + Q_OBJECT | ||
41 | +public: | ||
42 | + QTSLibHandler(); | ||
43 | + ~QTSLibHandler(); | ||
44 | + | ||
45 | + virtual void clearCalibration(); | ||
46 | + virtual void calibrate( QWSPointerCalibrationData * ); | ||
47 | + | ||
48 | + static int sortByX( const void*, const void* ); | ||
49 | + static int sortByY( const void*, const void* ); | ||
50 | +private: | ||
51 | + void openTs(); | ||
52 | + void closeTs(); | ||
53 | + void interpolateSample(); | ||
54 | + | ||
55 | +private: | ||
56 | + bool raw : 1; | ||
57 | +#ifdef QWS_TSLIB | ||
58 | + struct tsdev *ts; | ||
59 | +#endif | ||
60 | + QSocketNotifier *m_notify; | ||
61 | + | ||
62 | +private slots: | ||
63 | + void readMouseData(); | ||
64 | +}; | ||
65 | + | ||
66 | +QTSLibHandler::QTSLibHandler() | ||
67 | + : raw(false), m_notify(0l) | ||
68 | +{ | ||
69 | + openTs(); | ||
70 | +} | ||
71 | + | ||
72 | +QTSLibHandler::~QTSLibHandler() | ||
73 | +{ | ||
74 | + closeTs(); | ||
75 | +} | ||
76 | + | ||
77 | +void QTSLibHandler::openTs() | ||
78 | +{ | ||
79 | +#ifdef QWS_TSLIB | ||
80 | + char *tsdevice; | ||
81 | + | ||
82 | + if( ( tsdevice = getenv( "TSLIB_TSDEVICE" ) ) != NULL ) { | ||
83 | + ts = ts_open( tsdevice, 1 ); | ||
84 | + } else { | ||
85 | + ts = ts_open( "/dev/ts", 1 ); | ||
86 | + } | ||
87 | + | ||
88 | + if (!ts) { | ||
89 | + qWarning( "Cannot open touchscreen (%s)", strerror( errno ) ); | ||
90 | + return; | ||
91 | + } | ||
92 | + | ||
93 | + if (ts_config( ts )) { | ||
94 | + qWarning( "Cannot configure touchscreen (%s)", strerror( errno ) ); | ||
95 | + return; | ||
96 | + } | ||
97 | + | ||
98 | + | ||
99 | + m_notify = new QSocketNotifier( ts_fd(ts), QSocketNotifier::Read, this ); | ||
100 | + connect( m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData())); | ||
101 | +#endif | ||
102 | +} | ||
103 | + | ||
104 | +void QTSLibHandler::closeTs() | ||
105 | +{ | ||
106 | +#ifdef QWS_TSLIB | ||
107 | + if (ts) | ||
108 | + ts_close(ts); | ||
109 | + | ||
110 | + delete m_notify; | ||
111 | + m_notify = 0; ts = 0; | ||
112 | + raw = false; | ||
113 | +#endif | ||
114 | + | ||
115 | +} | ||
116 | + | ||
117 | +void QTSLibHandler::clearCalibration() | ||
118 | +{ | ||
119 | + raw = true; | ||
120 | +} | ||
121 | + | ||
122 | + | ||
123 | +void QTSLibHandler::calibrate( QWSPointerCalibrationData *cd ) | ||
124 | +{ | ||
125 | + QPoint dev_tl = cd->devPoints[ QWSPointerCalibrationData::TopLeft ]; | ||
126 | + QPoint dev_br = cd->devPoints[ QWSPointerCalibrationData::BottomRight ]; | ||
127 | + QPoint screen_tl = cd->screenPoints[ QWSPointerCalibrationData::TopLeft ]; | ||
128 | + QPoint screen_br = cd->screenPoints[ QWSPointerCalibrationData::BottomRight ]; | ||
129 | + int a, b, c, d, e, f, s; | ||
130 | + | ||
131 | + s = 1 << 16; | ||
132 | + | ||
133 | + a = s * (screen_tl.x() - screen_br.x() ) / (dev_tl.x() - dev_br.x()); | ||
134 | + b = 0; | ||
135 | + c = s * screen_tl.x() - a * dev_tl.x(); | ||
136 | + | ||
137 | + d = 0; | ||
138 | + e = s * (screen_tl.y() - screen_br.y() ) / (dev_tl.y() - dev_br.y()); | ||
139 | + f = s * screen_tl.y() - e * dev_tl.y(); | ||
140 | + | ||
141 | + QString calFile = "/etc/pointercal"; | ||
142 | +#ifndef QT_NO_TEXTSTREAM | ||
143 | + QFile file( calFile ); | ||
144 | + if ( file.open( IO_WriteOnly ) ) { | ||
145 | + QTextStream t( &file ); | ||
146 | + t << a << " " << b << " " << c << " "; | ||
147 | + t << d << " " << e << " " << f << " " << s; | ||
148 | + file.flush(); closeTs(); | ||
149 | + openTs(); | ||
150 | + } else | ||
151 | +#endif | ||
152 | + { | ||
153 | + qDebug( "Could not save calibration: %s", calFile.latin1() ); | ||
154 | + } | ||
155 | +} | ||
156 | + | ||
157 | +void QTSLibHandler::readMouseData() | ||
158 | +{ | ||
159 | +#ifdef QWS_TSLIB | ||
160 | + if(!qt_screen) | ||
161 | + return; | ||
162 | + | ||
163 | + /* | ||
164 | + * After clear Calibration | ||
165 | + * we're in raw mode and do some easy median | ||
166 | + * search. | ||
167 | + */ | ||
168 | + if (raw ) | ||
169 | + return interpolateSample(); | ||
170 | + | ||
171 | + static struct ts_sample sample; | ||
172 | + static int ret; | ||
173 | + | ||
174 | + /* | ||
175 | + * Ok. We need to see if we can read more than one event | ||
176 | + * We do this not to lose an update. | ||
177 | + */ | ||
178 | + while ( true ) { | ||
179 | + if ((ret = ts_read(ts, &sample, 1)) != 1 ) | ||
180 | + return; | ||
181 | + | ||
182 | + | ||
183 | + QPoint pos( sample.x, sample.y ); | ||
184 | + emit mouseChanged( pos, sample.pressure != 0 ? 1 : 0 ); | ||
185 | + } | ||
186 | +#endif | ||
187 | +} | ||
188 | + | ||
189 | + | ||
190 | +/* | ||
191 | + * Lets take all down events and then sort them | ||
192 | + * and take the event in the middle. | ||
193 | + * | ||
194 | + * inspired by testutils.c | ||
195 | + */ | ||
196 | +void QTSLibHandler::interpolateSample() { | ||
197 | + static struct ts_sample samples[25]; | ||
198 | + int index = 0; | ||
199 | + int ret; | ||
200 | + | ||
201 | + do { | ||
202 | + /* fill only the last sample again */ | ||
203 | + if ( index >= 25 ) | ||
204 | + index = 24; | ||
205 | + | ||
206 | + /* we're opened non-blocking */ | ||
207 | + if((ret= ts_read_raw(ts, &samples[index], 1 ) ) != 1 ) { | ||
208 | + /* no event yet, so try again */ | ||
209 | + if (ret==-1 ) { | ||
210 | + index--; | ||
211 | + continue; | ||
212 | + } | ||
213 | + } | ||
214 | + }while (samples[index++].pressure != 0); | ||
215 | + | ||
216 | + /* | ||
217 | + * index is maximal 25 and we at least one sample | ||
218 | + */ | ||
219 | + if( index >= 25 ) | ||
220 | + index = 24; | ||
221 | + int x, y; | ||
222 | + | ||
223 | + /* | ||
224 | + * now let us use the median value | ||
225 | + * even index does not have an item in the middle | ||
226 | + * so let us take the average of n/2 and (n/2)-1 as the middle | ||
227 | + */ | ||
228 | + int m = index/2; | ||
229 | + ::qsort(samples, index, sizeof(ts_sample), QTSLibHandler::sortByX); | ||
230 | + x = (index % 2 ) ? samples[m].x : | ||
231 | + ( samples[m-1].x + samples[m].x )/2; | ||
232 | + | ||
233 | + ::qsort(samples, index, sizeof(ts_sample), QTSLibHandler::sortByY); | ||
234 | + y = (index % 2 ) ? samples[m].y : | ||
235 | + ( samples[m-1].y + samples[m].y )/2; | ||
236 | + | ||
237 | + emit mouseChanged( QPoint(x, y), 1 ); | ||
238 | + emit mouseChanged( QPoint(0, 0), 0 ); | ||
239 | +} | ||
240 | + | ||
241 | +int QTSLibHandler::sortByX( const void* one, const void* two) { | ||
242 | + return reinterpret_cast<const struct ts_sample*>(one)->x - | ||
243 | + reinterpret_cast<const struct ts_sample*>(two)->x; | ||
244 | +} | ||
245 | + | ||
246 | +int QTSLibHandler::sortByY( const void* one, const void* two) { | ||
247 | + return reinterpret_cast<const struct ts_sample*>(one)->y - | ||
248 | + reinterpret_cast<const struct ts_sample*>(two)->y; | ||
249 | +} | ||
250 | + | ||
251 | + | ||
252 | /* | ||
253 | * Handler for /dev/tpanel Linux kernel driver | ||
254 | */ | ||
255 | @@ -1731,7 +1958,9 @@ | ||
256 | |||
257 | case TPanel: | ||
258 | #if defined(QWS_CUSTOMTOUCHPANEL) | ||
259 | - handler = new QCustomTPanelHandlerPrivate(mouseProtocol,mouseDev); | ||
260 | + handler = new QCustomTPanelHandlerPrivate(mouseProtocol,mouseDev); | ||
261 | +#elif defined(QWS_TSLIB) | ||
262 | + handler = new QTSLibHandler(); | ||
263 | #elif defined(QT_QWS_YOPY) | ||
264 | handler = new QYopyTPanelHandlerPrivate(mouseProtocol,mouseDev); | ||
265 | #elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) | ||
266 | --- qt-2.3.9-snapshot-20041211/configure~tslib.patch | ||
267 | +++ qt-2.3.9-snapshot-20041211/configure | ||
268 | @@ -406,6 +406,9 @@ | ||
269 | -kde) | ||
270 | KDE=yes | ||
271 | ;; | ||
272 | + -tslib) | ||
273 | + TSLIB=YES | ||
274 | + ;; | ||
275 | -no-g++-exceptions) | ||
276 | GPLUSPLUS_EXCEPTIONS=no | ||
277 | ;; | ||
278 | @@ -1290,6 +1293,9 @@ | ||
279 | set to point to a KDE 2 installation. | ||
280 | See http://www.kde.org | ||
281 | |||
282 | + -tslib ............. Use the TSLib (touchscreen access library) mouse handler | ||
283 | + by default, instead of the normal device default. | ||
284 | + | ||
285 | -no-g++-exceptions . Disable exceptions on platforms using the GNU C++ | ||
286 | compiler by using the -fno-exceptions flag. | ||
287 | |||
288 | @@ -1353,6 +1359,13 @@ | ||
289 | [ "x$SM" = "xno" ] && QT_CXX="${QT_CXX} -DQT_NO_SM_SUPPORT" | ||
290 | [ "x$XFT" = "xyes" ] && QT_CXX="${QT_CXX} -DQT_XFT" | ||
291 | [ "x$XFT" = "xno" ] && QT_CXX="${QT_CXX} -DQT_NO_XKB" | ||
292 | + | ||
293 | +if [ "x$TSLIB" = "xyes" ] | ||
294 | +then | ||
295 | + QT_CXX="${QT_CXX} -DQWS_TSLIB" | ||
296 | + QT_LIBS="${QT_LIBS} -lts" | ||
297 | +fi | ||
298 | + | ||
299 | if [ "x$THREAD" = "xyes" ] | ||
300 | then | ||
301 | cat >src-mt.mk <<EOF | ||