author | mickeyl <mickeyl> | 2005-02-19 16:07:58 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-02-19 16:07:58 (UTC) |
commit | b7bf9c7acdc010eb30bc246372efb0d1b394166a (patch) (side-by-side diff) | |
tree | 8dde116603cd8ddf439a881fc4a1d8f413af617b | |
parent | 298d0d244ca724405ca0651775ed61a22ce7a5ae (diff) | |
download | opie-b7bf9c7acdc010eb30bc246372efb0d1b394166a.zip opie-b7bf9c7acdc010eb30bc246372efb0d1b394166a.tar.gz opie-b7bf9c7acdc010eb30bc246372efb0d1b394166a.tar.bz2 |
hello qte2.3.10 patches
bye bye old patches
34 files changed, 835 insertions, 7320 deletions
@@ -4,25 +4,26 @@ There's a tutorial document at: http://www.uv-ac.de/opiedev/opiedev.html The API reference currently is at: http://handhelds.org/~zecke/apidocs/index.html You will need qvfb, uic and (if you want to develop applications) designer compiled and linked against Qt/X11. That means you must download and configure/make it: wget ftp://ftp.trolltech.com/qt/source/qt-x11-2.3.2.tar.gz (Alternatively, you can get static binaries from http://www.vanille.de/tools) -The recommended version of Qt/Embedded is 2.3.10 +You will need Qt/Embedded 2.3.10. Note that we don't support any +other Qt/Embedded version anymore. You can get it from: ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.10-free.tar.bz2 Set QTDIR to point to your qt/embedded source tree, such as: export QTDIR=/opt/qt-2.3.10 You need to do set the OPIEDIR environment variable: export OPIEDIR=`pwd` or export OPIEDIR=~/projects/sources/opie or whereever you placed the Opie sources. 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 @@ The Qt patches are patches generally useful for all platforms. For specefic Device patches like Keyboard and Mousedrivers see -http://openembedded.bkbits.net:8080/packages/src/qte/qte-2.3.7?nav=index.html|src/.|src/qte +http://openembedded.bkbits.net:8080/packages/src/qte/qte-2.3.10?nav=index.html|src/.|src/qte 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 @@ +Note: We no longer support anything else than Qt/E 2.3.10 + 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,47 +1,47 @@ # -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# Patch managed by http://www.holgerschurig.de/patcher.html # ---- qt-2.3.7/src/kernel/qapplication_qws.cpp~daemonize 2004-07-17 22:47:54.840820000 +0200 -+++ qt-2.3.7/src/kernel/qapplication_qws.cpp 2004-07-17 23:34:32.407525912 +0200 -@@ -103,6 +103,7 @@ +--- qt-2.3.9-snapshot-20041211/src/kernel/qapplication_qws.cpp~daemonize ++++ qt-2.3.9-snapshot-20041211/src/kernel/qapplication_qws.cpp +@@ -104,6 +104,7 @@ #endif #include <sys/time.h> +#include <syslog.h> #if defined(_OS_AIX_) && defined(_CC_GNU_) #include <sys/select.h> -@@ -162,6 +163,7 @@ +@@ -163,6 +164,7 @@ //these used to be environment variables, they are initialized from //environment variables in +bool qws_daemon = TRUE; bool qws_savefonts = FALSE; bool qws_screen_is_interlaced=FALSE; //### should be detected bool qws_shared_memory = FALSE; -@@ -1614,6 +1616,10 @@ +@@ -1686,6 +1688,10 @@ mwGeometry = argv[i]; } else if ( arg == "-shared" ) { qws_shared_memory = TRUE; + } else if ( arg == "-daemon" ) { + qws_daemon = TRUE; + } else if ( arg == "-nodaemon" ) { + qws_daemon = FALSE; } else if ( arg == "-noshared" ) { qws_shared_memory = FALSE; } else if ( arg == "-savefonts" ) { -@@ -1670,6 +1676,78 @@ +@@ -1742,6 +1748,78 @@ qt_appType = type; qws_single_process = TRUE; + /* Daemonize the server process -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> + * Added a new command line option which only is relevant if the application is created as a GuiServer. + * The option is -daemon respectively -nodaemon. If in daemon mode (which is the default now), the + * server will detach from the controlling terminal and continue as a daemon. This is done via the standard + * UNIX double fork magic. + */ + if ( qws_daemon ) + { + qWarning( "qt_init() - starting in daemon mode..." ); 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 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.9-snapshot-20050114/configure~devfs ++++ qt-2.3.9-snapshot-20050114/configure +@@ -412,6 +412,9 @@ + -visibility-hidden) + VISIBILITY=YES + ;; ++ -devfs) ++ DEVFS=yes ++ ;; + -no-g++-exceptions) + GPLUSPLUS_EXCEPTIONS=no + ;; +@@ -1302,6 +1305,8 @@ + -visibility-hidden . Use -fvisibility=hidden as default. This requires GCC 4.0 + or a special patched GCC to support the visibility attribute + ++ -devfs ............. Use devfs /dev paths. ++ + -no-g++-exceptions . Disable exceptions on platforms using the GNU C++ + compiler by using the -fno-exceptions flag. + +@@ -1374,6 +1379,10 @@ + then + QT_CXX="${QT_CXX} -DGCC_SUPPORTS_VISIBILITY -fvisibility=hidden" + fi ++if [ "x$DEVFS" = "xyes" ] ++then ++ QT_CXX="${QT_CXX} -DQT_QWS_DEVFS" ++fi + if [ "x$THREAD" = "xyes" ] + then + cat >src-mt.mk <<EOF +--- qt-2.3.9-snapshot-20050114/src/kernel/qgfxlinuxfb_qws.cpp~devfs ++++ qt-2.3.9-snapshot-20050114/src/kernel/qgfxlinuxfb_qws.cpp +@@ -101,11 +101,19 @@ + bool QLinuxFbScreen::connect( const QString &displaySpec ) + { + // Check for explicitly specified device ++#ifdef QT_QWS_DEVFS ++ QRegExp r( "/dev/fb/[0-9]+" ); ++#else + QRegExp r( "/dev/fb[0-9]+" ); ++#endif + int len; + int m = r.match( displaySpec, 0, &len ); + ++#ifdef QT_QWS_DEVFS ++ QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb/0"); ++#else + QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb0"); ++#endif + + fd=open( dev.latin1(), O_RDWR ); + if (fd<0) { +@@ -121,14 +129,22 @@ + + /* Get fixed screen information */ + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) { ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else + perror("reading /dev/fb0"); ++#endif + qWarning("Error reading fixed information"); + return FALSE; + } + + /* Get variable screen information */ + if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)) { ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else + perror("reading /dev/fb0"); ++#endif + qWarning("Error reading variable information"); + return FALSE; + } +@@ -165,7 +181,11 @@ + data += dataoffset; + + if ((int)data == -1) { +- perror("mapping /dev/fb0"); ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else ++ perror("reading /dev/fb0"); ++#endif + qWarning("Error: failed to map framebuffer device to memory."); + return FALSE; + } +@@ -229,7 +249,11 @@ + + static void writeTerm(const char* termctl, int sizeof_termctl) + { ++#ifdef QT_QWS_DEVFS ++ const char* tt[]={"/dev/vc/1","/dev/console","/dev/tty",0}; ++#else + const char* tt[]={"/dev/console","/dev/tty","/dev/tty0",0}; ++#endif + const char** dev=tt; + while (*dev) { + int tty=::open(*dev,O_WRONLY); +@@ -792,7 +816,11 @@ + fb_var_screeninfo vinfo; + + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) { ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else + perror("reading /dev/fb0"); ++#endif + qFatal("Error reading fixed information"); + } + +--- qt-2.3.9-snapshot-20050114/src/kernel/qkeyboard_qws.cpp~devfs ++++ qt-2.3.9-snapshot-20050114/src/kernel/qkeyboard_qws.cpp +@@ -1192,7 +1192,11 @@ + + QWSTtyKeyboardHandler::QWSTtyKeyboardHandler(const QString& device) + { ++#ifdef QT_QWS_DEVFS ++ kbdFD=open(device.isEmpty() ? "/dev/vc/1" : device.latin1(), O_RDWR | O_NDELAY, 0); ++#else + kbdFD=open(device.isEmpty() ? "/dev/tty0" : device.latin1(), O_RDWR | O_NDELAY, 0); ++#endif + + if ( kbdFD >= 0 ) { + QSocketNotifier *notifier; +--- qt-2.3.9-snapshot-20050114/src/kernel/qwindowsystem_qws.cpp~devfs ++++ qt-2.3.9-snapshot-20050114/src/kernel/qwindowsystem_qws.cpp +@@ -836,7 +836,11 @@ + void openDevice() + { + if ( !sn ) { ++#ifdef QT_QWS_DEVFS ++ int fd = ::open("/dev/sound/dsp",O_RDWR); ++#else + int fd = ::open("/dev/dsp",O_RDWR); ++#endif + if ( fd < 0 ) { + // For debugging purposes - defined QT_NO_SOUND if you + // don't have sound hardware! +--- qt-2.3.9-snapshot-20050114/src/kernel/qsoundqss_qws.cpp~devfs ++++ qt-2.3.9-snapshot-20050114/src/kernel/qsoundqss_qws.cpp +@@ -1088,7 +1088,12 @@ + // Don't block open right away. + // + bool openOkay = false; +- if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) { ++#ifdef QT_QWS_DEVFS ++ if ((fd = ::open("/dev/sound/dsp", O_WRONLY|O_NONBLOCK)) != -1) ++#else ++ if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) ++#endif ++ { + int flags = fcntl(fd, F_GETFL); + flags &= ~O_NONBLOCK; + 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 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.9-snapshot-20041211/src/tools/qstring.cpp~encoding ++++ qt-2.3.9-snapshot-20041211/src/tools/qstring.cpp +@@ -14469,7 +14469,11 @@ + return qt_winQString2MB( *this ); + #endif + #ifdef _WS_QWS_ +- return utf8(); // ##### if there is ANY 8 bit format supported? ++ QTextCodec* codec = QTextCodec::codecForLocale(); ++ return codec ++ ? codec->fromUnicode(*this) ++ : utf8(); ++ //return latin1(); // ##### if there is ANY 8 bit format supported? + #endif + #endif + } +@@ -14515,7 +14519,12 @@ + return qt_winMB2QString( local8Bit ); + #endif + #ifdef _WS_QWS_ +- return fromUtf8(local8Bit,len); ++ QTextCodec* codec = QTextCodec::codecForLocale(); ++ if( len < 0) len = qstrlen(local8Bit); ++ return codec ++ ? codec->toUnicode(local8Bit, len) ++ : QString::fromUtf8(local8Bit,len); ++// return fromLatin1(local8Bit,len); + #endif + #endif // QT_NO_TEXTCODEC + } 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 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.9-snapshot-20041211/src/kernel/qgfxraster_qws.cpp~fix-qgfxraster ++++ qt-2.3.9-snapshot-20041211/src/kernel/qgfxraster_qws.cpp +@@ -4037,13 +4037,14 @@ + for( loopc2=0;loopc2<frontadd;loopc2++ ) + *(alphaptr++)=get_value_32(16,(unsigned char **)&temppos); + +- PackType temp2; +- unsigned char * cp; ++ volatile PackType temp2; ++ volatile unsigned short int * cp; + for( loopc2=0;loopc2<count;loopc2++ ) { +- temp2=*((PackType *)temppos); +- cp=(unsigned char *)&temp2; +- *(alphaptr++)=get_value_32(16,&cp); +- *(alphaptr++)=get_value_32(16,&cp); ++ temp2=*reinterpret_cast<PackType *>(temppos); ++ cp=reinterpret_cast<volatile unsigned short int *>(&temp2); ++ *(alphaptr++)=qt_conv16ToRgb(*cp); ++ cp++; ++ *(alphaptr++)=qt_conv16ToRgb(*cp); + temppos += 2; + } + 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 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.9-snapshot-20041211/src/tools/qcstring.h~gcc3 ++++ qt-2.3.9-snapshot-20041211/src/tools/qcstring.h +@@ -119,7 +119,7 @@ + // We want to keep source compatibility for 2.x + // ### TODO for 4.0: completely remove these and the cstr* functions + +-#if !defined(QT_GENUINE_STR) ++#if 0 + + #undef strlen + #define strlen qstrlen +--- qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h~gcc3 ++++ qt-2.3.9-snapshot-20041211/src/kernel/qwsdecoration_qws.h +@@ -50,7 +50,7 @@ + enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6, + TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10, + Close=11, Minimize=12, Maximize=13, Normalize=14, +- Menu=15, LastRegion=Menu }; ++ Menu=15, LastRegion=Menu, UserDefined = 100 }; + + virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0; + 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 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.10-snapshot-20050131/src/widgets/qcommonstyle.cpp~opie ++++ qt-2.3.10-snapshot-20050131/src/widgets/qcommonstyle.cpp +@@ -572,7 +572,7 @@ + bool enabled, bool active ) + { + #ifndef QT_NO_MENUBAR +-#ifndef QT_NO_STYLE_SGI ++#if 1 // #ifndef QT_NO_STYLE_SGI + if (draw_menu_bar_impl != 0) { + QDrawMenuBarItemImpl impl = draw_menu_bar_impl; + (this->*impl)(p, x, y, w, h, mi, g, enabled, active); +--- qt-2.3.10-snapshot-20050131/src/widgets/qlistview.cpp~opie ++++ qt-2.3.10-snapshot-20050131/src/widgets/qlistview.cpp +@@ -5051,9 +5051,9 @@ + l = l->childItem ? l->childItem : l->siblingItem; + + if ( l && l->height() ) +- s.setHeight( s.height() + 10 * l->height() ); +- else +- s.setHeight( s.height() + 140 ); ++ s.setHeight( s.height() + 4 /*10*/ * l->height() ); ++ else // ^v much too big for handhelds ++ s.setHeight( s.height() + 30 /*140*/ ); + + if ( s.width() > s.height() * 3 ) + s.setHeight( s.width() / 3 ); +--- qt-2.3.10-snapshot-20050131/src/kernel/qwindowsystem_qws.cpp~opie ++++ qt-2.3.10-snapshot-20050131/src/kernel/qwindowsystem_qws.cpp +@@ -918,6 +918,18 @@ + { + } + ++static void catchSegvSignal( int ) ++{ ++#ifndef QT_NO_QWS_KEYBOARD ++ if ( qwsServer ) ++ qwsServer->closeKeyboard(); ++#endif ++ QWSServer::closedown(); ++ fprintf(stderr, "Segmentation fault.\n"); ++ exit(1); ++} ++ ++ + /*! + \class QWSServer qwindowsystem_qws.h + \brief Server-specific functionality in Qt/Embedded +@@ -1043,6 +1055,7 @@ + } + + signal(SIGPIPE, ignoreSignal); //we get it when we read ++ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash + #endif + focusw = 0; + mouseGrabber = 0; +--- qt-2.3.10-snapshot-20050131/src/widgets/qtoolbutton.cpp~opie ++++ qt-2.3.10-snapshot-20050131/src/widgets/qtoolbutton.cpp +@@ -332,12 +332,12 @@ + QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); + w = pm.width(); + h = pm.height(); +- if ( w < 32 ) +- w = 32; +- if ( h < 32 ) +- h = 32; ++ if ( w < 24 ) ++ w = 24; ++ if ( h < 24 ) ++ h = 24; + } else { +- w = h = 16; ++ w = h = 14; + QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); + w = pm.width(); + 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,52 +1,45 @@ -Speed up patches backported from -http://robotics.dei.unipd.it/~koral/KDE/kflicker.html +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# -and - -http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) - - - - -diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp ---- qt-2.3.7_old/src/iconview/qiconview.cpp 2004-06-13 22:29:56.000000000 +0200 -+++ qt-2.3.7/src/iconview/qiconview.cpp 2004-06-13 22:33:32.000000000 +0200 -@@ -220,6 +220,7 @@ +--- qt-2.3.10-snapshot-20050131/src/iconview/qiconview.cpp~qiconview-speed ++++ qt-2.3.10-snapshot-20050131/src/iconview/qiconview.cpp +@@ -225,6 +225,7 @@ QIconView::SelectionMode selectionMode; QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; QRect *rubber; + QPixmap *backBuffer; QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, *fullRedrawTimer; int rastX, rastY, spacing; -@@ -2263,6 +2264,7 @@ +@@ -2268,6 +2269,7 @@ d->currentItem = 0; d->highlightedItem = 0; d->rubber = 0; + d->backBuffer = 0; d->scrollTimer = 0; d->startDragItem = 0; d->tmpCurrentItem = 0; -@@ -2411,6 +2413,8 @@ +@@ -2416,6 +2418,8 @@ delete item; item = tmp; } + delete d->backBuffer; + d->backBuffer = 0; delete d->fm; d->fm = 0; #ifndef QT_NO_TOOLTIP -@@ -2877,6 +2881,48 @@ +@@ -2882,6 +2886,48 @@ } /*! + This function grabs all paintevents that otherwise would have been + processed by the QScrollView::viewportPaintEvent(). Here we use a + doublebuffer to reduce 'on-paint' flickering on QIconView + (and of course its childs). + + \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() +*/ + +void QIconView::bufferedPaintEvent( QPaintEvent* pe ) @@ -77,66 +70,53 @@ diff -u qt-2.3.7_old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview. + QPainter p; + p.begin(d->backBuffer, vp); + drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); + p.end(); + bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); +} + +/*! + \reimp */ -@@ -4855,7 +4901,7 @@ +@@ -4939,7 +4985,7 @@ if ( !d->rubber ) drawDragShapes( d->oldDragPos ); } - viewportPaintEvent( (QPaintEvent*)e ); + bufferedPaintEvent ((QPaintEvent*)e ); if ( d->dragging ) { if ( !d->rubber ) drawDragShapes( d->oldDragPos ); -@@ -5286,11 +5332,19 @@ +@@ -5377,11 +5423,19 @@ return; if ( item->d->container1 && d->firstContainer ) { - item->d->container1->items.removeRef( item ); + //Special-case checking of the last item, since this may be + //called a few times for the same item. + if (item->d->container1->items.last() == item) + item->d->container1->items.removeLast(); + else + item->d->container1->items.removeRef( item ); } item->d->container1 = 0; if ( item->d->container2 && d->firstContainer ) { - item->d->container2->items.removeRef( item ); + if (item->d->container2->items.last() == item) + item->d->container2->items.removeLast(); + else + item->d->container2->items.removeRef( item ); } item->d->container2 = 0; -diff -u qt-2.3.7_old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h ---- qt-2.3.7_old/src/iconview/qiconview.h 2004-06-13 22:29:56.000000000 +0200 -+++ qt-2.3.7/src/iconview/qiconview.h 2004-06-13 22:33:32.000000000 +0200 +--- qt-2.3.10-snapshot-20050131/src/iconview/qiconview.h~qiconview-speed ++++ qt-2.3.10-snapshot-20050131/src/iconview/qiconview.h @@ -444,6 +444,7 @@ virtual void contentsDropEvent( QDropEvent *e ); #endif + void bufferedPaintEvent( QPaintEvent* ); virtual void resizeEvent( QResizeEvent* e ); virtual void keyPressEvent( QKeyEvent *e ); virtual void focusInEvent( QFocusEvent *e ); ---- qt-2.3.7-old/src/widgets/qscrollview.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qscrollview.cpp 2004-07-23 19:23:10.000000000 +0200 -@@ -1266,6 +1277,9 @@ - case QEvent::LayoutHint: - d->autoResizeHint(this); - break; -+ case QEvent::WindowActivate: -+ case QEvent::WindowDeactivate: -+ return TRUE; - default: - break; - } 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 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp~simpad ++++ qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp +@@ -37,6 +37,7 @@ + #include <qapplication.h> + #include <qsocketnotifier.h> + #include <qnamespace.h> ++#include <qdatetime.h> + #include <qtimer.h> + + #include <stdlib.h> +@@ -80,6 +81,60 @@ + #include <sys/vt.h> + #endif + ++/* ++ * SIMpad switches handler ++ * (C) 2003-2005 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> ++ */ ++ ++ ++ ++#include <linux/switches.h> ++#define SIMPAD_SWITCHES_DEVICE "/dev/misc/switches" ++ ++// switches from left top to right down over the SIMpad surface ++ ++#define SIMPAD_SWITCH_POWER 0x02 ++#define SIMPAD_SWITCH_UPPER 0x10 ++#define SIMPAD_SWITCH_UP 0x20 ++#define SIMPAD_SWITCH_DOWN 0x40 ++#define SIMPAD_SWITCH_LEFT 0x80 ++#define SIMPAD_SWITCH_RIGHT 0x100 ++#define SIMPAD_SWITCH_LOWER 0x8 ++ ++class QWSsimpadButtonsHandler : public QWSKeyboardHandler ++{ ++ Q_OBJECT ++ ++ public: ++ QWSsimpadButtonsHandler(); ++ virtual ~QWSsimpadButtonsHandler(); ++ ++ bool isOpen() { return fd > 0; } ++ ++ private slots: ++ void readSwitchesData(); ++ void autoRepeat(); ++ ++ private: ++ switches_mask_t switches; ++ ++ int fd; ++ int repeatdelay; ++ int repeatperiod; ++ ++ int lastCode; // last native code ++ int lastPress; // last press/release state ++ ++ int k; // last emitted Qt key code ++ int shiftKeyPressed; // true if one of the SHIFT keys has been pressed and not yet released ++ bool shiftUsed; // true if SHIFT has been used ++ ++ QTime eventTimer; // tracks time between raw events ++ QTimer* repeater; ++ QSocketNotifier *notifier; ++}; ++ ++ + #ifdef QT_QWS_SL5XXX + #include <asm/sharp_char.h> + #endif +@@ -165,9 +220,9 @@ + current = 0; + } + +- void setAutoRepeat(int d, int p) { if ( d > 0 ) repeatdelay=d; ++ void setAutoRepeat(int d, int p) { if ( d > 0 ) repeatdelay=d; + if ( p > 0 ) repeatperiod=p;} +- void getAutoRepeat(int *d ,int *p ) { if (d) *d=repeatdelay; ++ void getAutoRepeat(int *d ,int *p ) { if (d) *d=repeatdelay; + if (p) *p=repeatperiod; } + + void stop() +@@ -551,9 +606,9 @@ + + void doKey(uchar scancode); + +- ++ + void restoreLeds(); +- ++ + private: + bool shift; + bool alt; +@@ -809,7 +864,7 @@ + + #if !defined(QT_QWS_SL5XXX) + if (code == 224 +-#if defined(QT_QWS_IPAQ) ++#if defined(QT_QWS_IPAQ) + && !ipaq_return_pressed + #endif + ) { +@@ -1775,9 +1830,11 @@ + } else { + type = spec; + } +- + if ( type == "Buttons" ) { +-#if defined(QT_QWS_YOPY) ++#if defined(QT_QWS_SIMPAD) ++ qDebug( "QWSKeyboardHandler: using SIMpad switches handler..." ); ++ handler = new QWSsimpadButtonsHandler(); ++#elif defined(QT_QWS_YOPY) + handler = new QWSyopyButtonsHandler(); + #elif defined(QT_QWS_CASSIOPEIA) + handler = new QWSVr41xxButtonsHandler(); +@@ -1812,6 +1869,218 @@ + return keyM; + } + +-#endif // QT_NO_QWS_KEYBOARD + ++/* ++ * SIMpad switches handler ++ * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> ++ */ ++ ++ ++QWSsimpadButtonsHandler::QWSsimpadButtonsHandler() ++ :QWSKeyboardHandler(), fd( -1 ), ++ repeatdelay( 700 ), repeatperiod( 80 ), ++ lastCode( 0 ), lastPress( 0 ), ++ k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false ) ++{ ++ qDebug( "SimpadButtonsHandler() - V4.1" ); ++ fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 ); ++ if ( fd < 0 ) ++ { ++ qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE ); ++ return; ++ } ++ ++ notifier = new QSocketNotifier( fd, QSocketNotifier::Read, this ); ++ connect( notifier, SIGNAL( activated(int) ),this, SLOT( readSwitchesData() ) ); ++ ++ repeater = new QTimer(this); ++ connect(repeater, SIGNAL(timeout()), this, SLOT(autoRepeat())); ++ ++} + ++ ++QWSsimpadButtonsHandler::~QWSsimpadButtonsHandler() ++{ ++ qDebug( "~SimpadButtonsHandler()" ); ++ if ( fd > 0 ) ++ { ++ ::close( fd ); ++ fd = -1; ++ } ++} ++ ++ ++void QWSsimpadButtonsHandler::readSwitchesData() ++{ ++ qDebug( "SimpadButtonsHandler() - detected switches action" ); ++ ++ if ( ::read( fd, &switches, sizeof switches ) < 0 ) ++ { ++ qWarning( "SimpadButtonsHandler() - switches read error!" ); ++ return; ++ } ++ ++ qDebug( "SimpadButtonsHandler() - Shift: %0x [used: %0x] + Event = %0x | %0x", ++ shiftKeyPressed, shiftUsed, switches.events[0], switches.states[0] ); ++ ++ bool press = switches.states[0]; // == switches.event[0]; ++ int code = switches.events[0]; ++ ++ //========================================================================= ++ ++ /** ++ * Work around a bug in the kernel keyboard driver emitting ++ * bogus events when pressing multiple switches at once ++ **/ ++ ++ if ( lastCode == 0 ) ++ { ++ // first press ever ++ eventTimer.start(); ++ lastPress = press; ++ lastCode = code; ++ } ++ else ++ { ++ int interval = eventTimer.restart(); ++ qDebug( "event interval = %d", interval ); ++ if ( code == lastCode && interval < 10 ) ++ { ++ qDebug( "event interval too small - ignoring bogus event" ); ++ qDebug( "did I say i hate buggy kernel drivers? :-D" ); ++ return; ++ } ++ ++ lastPress = press; ++ lastCode = code; ++ } ++ ++ /** ++ * Actually it may also be a hardware problem, but I really don't like ++ * to review kernel code for further inquiry. So just being lazy and ++ * do the workaround in user space :-D ++ **/ ++ ++ //===================================================================== ++ ++ if ( shiftKeyPressed ) ++ { ++ // a shift key obviously is being held ++ qDebug( "while shift key is being held..." ); ++ ++ if ( code != shiftKeyPressed ) ++ { ++ // another key is being touched - that means shift mode for us! ++ qDebug( " another key is being touched -> shift use now = true" ); ++ ++ shiftUsed = true; ++ ++ if ( shiftKeyPressed == SIMPAD_SWITCH_LOWER ) // SHIFT 1 ++ { ++ qDebug( " shift mode 1" ); ++ switch(code) ++ { ++ case SIMPAD_SWITCH_UP: k = Qt::Key_F9; break; // Shift1-Up = Calendar ++ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F10; break; // Shift1-Down = Contacts ++ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F13; break; // Shift1-Left = Mail ++ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F11; break; // Shift1-Up = Menu ++ case SIMPAD_SWITCH_UPPER: k = Qt::Key_F12; break; // Shift1-Upper = Home ++ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 1 !" ); break; ++ } ++ } ++ else if ( shiftKeyPressed == SIMPAD_SWITCH_UPPER ) // SHIFT 2 ++ { ++ qDebug( " shift mode 2" ); ++ switch(code) ++ { ++ case SIMPAD_SWITCH_UP: k = Qt::Key_F5; break; // Shift2-Up = F5 ++ case SIMPAD_SWITCH_DOWN: k = Qt::Key_F6; break; // Shift2-Down = F6 ++ case SIMPAD_SWITCH_LEFT: k = Qt::Key_F7; break; // Shift2-Left = F7 ++ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F8; break; // Shift2-Up = F8 ++ case SIMPAD_SWITCH_LOWER: k = Qt::Key_F9; break; // Shift2-Lower = F9 ++ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 2!" ); break; ++ } ++ } ++ } ++ else ++ { ++ qDebug( " shift key has been released. checking if being used..." ); ++ shiftKeyPressed = 0; ++ ++ if ( !shiftUsed ) ++ { ++ qDebug( " ... has _not_ being used -> really emit the key" ); ++ k = ( code == SIMPAD_SWITCH_UPPER ? Qt::Key_Escape : Qt::Key_Return ); ++ qDebug( "Emitting key = %d (pressed)", k ); ++ processKeyEvent( 0, k, 0, true, true ); ++ qDebug( "Emitting key = %d (released)", k ); ++ processKeyEvent( 0, k, 0, false, true ); ++ return; ++ } ++ else ++ { ++ qDebug( " ... has being used -> doing nothing" ); ++ return; ++ } ++ } ++ } ++ else ++ { ++ qDebug( "standard mode - no shift yet..." ); ++ ++ switch(code) ++ { ++ case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break; ++ case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break; ++ case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break; ++ case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break; ++ case SIMPAD_SWITCH_POWER: k = Qt::Key_F34; break; // Power Button ++ ++ case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; ++ case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; ++ ++ default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break; ++ } ++ } ++ ++ if ( k == -1 ) ++ { ++ qDebug( "no key to emit - returning." ); ++ return; ++ } ++ ++ bool repeatable = ( k == Qt::Key_Up || k == Qt::Key_Down || ++ k == Qt::Key_Right || k == Qt::Key_Left ); ++ ++ qDebug( "key to emit = %d [%s] [repeat=%s]", k, ++ press ? "press" : "release", ++ repeatable ? "true":"false" ); ++ ++ if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down ) ++ { ++ qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." ); ++ int oldK = k; ++ k = xform_dirkey( k ); ++ qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k ); ++ } ++ ++ if ( repeatable && press ) ++ repeater->start( repeatdelay, true ); ++ else ++ repeater->stop(); ++ ++ qwsServer->processKeyEvent( 0, k, 0, press, false ); ++} ++ ++ ++void QWSsimpadButtonsHandler::autoRepeat() ++{ ++ qDebug( "Emitting key = %d (released)", k ); ++ processKeyEvent( 0, k, 0, false, true ); ++ qDebug( "Emitting key = %d (pressed)", k ); ++ processKeyEvent( 0, k, 0, true, true ); ++ repeater->start(repeatperiod); ++} ++ ++ ++#endif // QT_NO_QWS_KEYBOARD +--- qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp~simpad ++++ qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp +@@ -53,8 +53,8 @@ + + extern int errno; + +-#define QT_QWS_SOUND_16BIT 1 // or 0, or undefined for always 0 +-#define QT_QWS_SOUND_STEREO 1 // or 0, or undefined for always 0 ++#define QT_QWS_SOUND_16BIT 0 // or 0, or undefined for always 0 ++#define QT_QWS_SOUND_STEREO 0 // or 0, or undefined for always 0 + + // Zaurus SL5000D doesn't seem to return any error if setting to 44000 and it fails, + // however 44100 works, 44100 is more common that 44000. +--- qt-2.3.10-snapshot-20050131/src/kernel/qwsmouse_qws.cpp~simpad ++++ qt-2.3.10-snapshot-20050131/src/kernel/qwsmouse_qws.cpp +@@ -47,6 +47,7 @@ + #include <stdlib.h> + #include <stdio.h> + #include <sys/ioctl.h> ++#include <sys/time.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> +@@ -73,6 +74,7 @@ + unsigned short x; + unsigned short y; + unsigned short pad; ++ struct timeval stamp; + } TS_EVENT; + #elif defined(QT_QWS_SL5XXX) + #define QT_QWS_SL5XXX_RAW +@@ -1310,6 +1312,11 @@ + return; + } + # endif ++#elif defined(QT_QWS_SIMPAD ) ++ if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK )) < 0) { ++ qWarning( "Cannot open /dev/touchscreen/ucb1x00 (%s)", strerror(errno)); ++ return; ++ } + #endif + + QSocketNotifier *mouseNotifier; +@@ -1323,7 +1330,7 @@ + + QTPanelHandlerPrivate::~QTPanelHandlerPrivate() + { +-#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) ++#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD) + if (mouseFD >= 0) + close(mouseFD); + #endif +@@ -1331,7 +1338,7 @@ + + void QTPanelHandlerPrivate::readMouseData() + { +-#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) ++#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD) + if(!qt_screen) + return; + +@@ -2014,7 +2021,7 @@ + handler = new QTSLibHandlerPrivate(); + #elif defined(QT_QWS_YOPY) + handler = new QYopyTPanelHandlerPrivate(mouseProtocol,mouseDev); +-#elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) ++#elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) || defined(QT_QWS_SLC700) || defined(QT_QWS_SIMPAD) + handler = new QTPanelHandlerPrivate(mouseProtocol,mouseDev); + #elif defined(QT_QWS_CASSIOPEIA) + 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 @@ +Index: qt-2.3.10/src/kernel/qwsmouse_qws.cpp +=================================================================== +--- qt-2.3.10.orig/src/kernel/qwsmouse_qws.cpp 2005-02-16 00:53:53.090339898 +0100 ++++ qt-2.3.10/src/kernel/qwsmouse_qws.cpp 2005-02-16 00:54:43.059069292 +0100 +@@ -1878,30 +1878,33 @@ + */ + void QTSLibHandlerPrivate::interpolateSample() { + #ifdef QT_QWS_TSLIB +- static struct ts_sample samples[25]; +- int index = -1; ++#define TSLIB_MAX_SAMPLES 25 ++ static struct ts_sample samples[TSLIB_MAX_SAMPLES]; ++ int index = 0; ++ int read_samples = 0; + int ret; + + do { +- /* fill only the last sample again */ +- if ( index >= 25 ) +- index = 24; +- ++ /* do not access negative arrays */ ++ if ( index < 0 ) ++ index = 0; ++ + /* we're opened non-blocking */ +- if((ret= ts_read_raw(m_ts, &samples[index], 1 ) ) != 1 ) { ++ if((ret= ts_read_raw(m_ts, &samples[index], 1 ) ) != 1 ) + /* no event yet, so try again */ +- if (ret==-1 ) { +- index--; ++ if (ret==-1 ) + continue; +- } +- } +- }while (samples[index++].pressure != 0); ++ ++ read_samples++; ++ index = (index+1)%TSLIB_MAX_SAMPLES; ++ }while (samples[index == 0 ? (TSLIB_MAX_SAMPLES-1) : index-1].pressure != 0); + + /* +- * index is maximal 25 and we at least one sample ++ * If we've wrapped around each sample is used otherwise ++ * we will use the index + */ +- if( index >= 25 ) +- index = 24; ++ index = read_samples >= TSLIB_MAX_SAMPLES ? ++ (TSLIB_MAX_SAMPLES-1 ) : index; + int x, y; + + /* 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,58 +1,58 @@ # # Patch managed by http://www.holgerschurig.de/patcher.html # ---- qt-2.3.7/src/kernel/qapplication_qws.cpp~vt-switch.patch -+++ qt-2.3.7/src/kernel/qapplication_qws.cpp -@@ -123,6 +123,12 @@ +--- qt-2.3.9-snapshot-20041221/src/kernel/qapplication_qws.cpp~vt-switch.patch ++++ qt-2.3.9-snapshot-20041221/src/kernel/qapplication_qws.cpp +@@ -124,6 +124,12 @@ static int qt_thread_pipe[2]; #endif +#if defined(_OS_LINUX_) +#include <sys/ioctl.h> +#include <linux/vt.h> +#include <linux/kd.h> +#endif + const int qwsSharedRamSize = 32 * 1024; //Small amount to fit on small devices. // These are in qapplication.cpp in qt/main -@@ -163,6 +169,8 @@ +@@ -164,6 +170,8 @@ bool qws_accel = TRUE; // ### never set const char *qws_display_spec = ":0"; int qws_display_id = 0; +int qws_terminal_id = 0; +int qws_terminal_old = 0; int qws_client_id = 0; QWidget *qt_pressGrab = 0; QWidget *qt_mouseGrb = 0; -@@ -1628,6 +1636,15 @@ +@@ -1700,6 +1708,15 @@ type = QApplication::GuiServer; } else if ( arg == "-interlaced" ) { qws_screen_is_interlaced = TRUE; + } else if ( arg == "-terminal" ) { + if ( ++i < argc ) + { + if ( ( qws_terminal_id = atoi( argv[i] ) ) < 1 ) + { + qWarning( "Ignoring Invalid Terminal Specification." ); + qws_terminal_id = 0; + } + } } else if ( arg == "-display" ) { if ( ++i < argc ) qws_display_spec = argv[i]; -@@ -1652,6 +1669,53 @@ +@@ -1724,6 +1741,53 @@ if ( type == QApplication::GuiServer ) { qt_appType = type; qws_single_process = TRUE; + + /* Allocate a dedicated virtual terminal -- (C) Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> + * Added a new command line option which only is relevant if the application is created as a GuiServer. + * The option is -terminal <num>, where <num> specifies the virtual terminal to be occupied by the server. + * As default in Linux, 0 means the current virtual terminal. + */ + #if defined(_OS_LINUX_) + if ( qws_terminal_id ) + { @@ -88,25 +88,25 @@ + exit( -1 ); + } + ::close( console_fd ); + } + else + { + qDebug( "QWSApplication::qt_init() - current terminal specified." ); + } + #endif QWSServer::startup(flags); setenv("QWS_DISPLAY", qws_display_spec, 0); } -@@ -1702,7 +1766,36 @@ +@@ -1774,7 +1838,36 @@ QFontManager::cleanup(); if ( qws_single_process ) { - QWSServer::closedown(); + qDebug( "qt_cleanup() - shutting down QWSServer..." ); +#ifndef QT_NO_QWS_KEYBOARD + if ( qwsServer ) + qwsServer->closeKeyboard(); +#endif + QWSServer::closedown(); +#if defined(_OS_LINUX_) + if ( qws_terminal_old > 0 ) @@ -126,80 +126,53 @@ + } + if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_old ) == -1 ) + { + qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) ); + } + ::close( console_fd ); + } + } +#endif } if ( qt_is_gui_used ) { delete qt_fbdpy; -@@ -2584,7 +2677,7 @@ - if ( !widget ) { // don't know this window - if ( !QWidget::mouseGrabber() - #ifndef QT_NO_QWS_MANAGER -- && !QWSManager::grabbedMouse() -+ && !QWSManager::grabbedMouse() - #endif - ) { - qt_last_cursor = 0xffffffff; // cursor can be changed by another application -@@ -3394,7 +3487,7 @@ - #ifndef QT_NO_QWS_IM - if ( mouse.state&button && w != QInputContext::microFocusWidget() ) //button press - QInputContext::reset( oldFocus ); --#endif -+#endif - QFocusEvent::setReason( QFocusEvent::Mouse); - w->setFocus(); - QFocusEvent::resetReason(); -@@ -3540,7 +3633,7 @@ - QApplication::sendEvent( widget, &enter ); - (*mouseInWidget) = widget; - #ifndef QT_NO_QWS_IM -- if ( e.type() == QEvent::MouseButtonPress && -+ if ( e.type() == QEvent::MouseButtonPress && - !widget->testWFlags( Qt::WStyle_Tool ) && - !widget->topLevelWidget()->testWFlags( Qt::WStyle_Tool ) ) - QInputContext::reset( oldFocus ); ---- qt-2.3.7/src/kernel/qkeyboard_qws.cpp~vt-switch.patch -+++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp -@@ -1068,6 +1068,24 @@ +--- qt-2.3.9-snapshot-20041221/src/kernel/qkeyboard_qws.cpp~vt-switch.patch ++++ qt-2.3.9-snapshot-20041221/src/kernel/qkeyboard_qws.cpp +@@ -1247,6 +1247,24 @@ { if (kbdFD >= 0) { + +#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) + struct vt_mode vtMode; + ioctl(kbdFD, VT_GETMODE, &vtMode); + + /* Mickey says: "Better give up control of VT switching. + * Hey, I really hate that OS-will-reacquire-resources on process-death + * kind of thinking! + */ + vtMode.mode = VT_AUTO; + vtMode.relsig = 0; + vtMode.acqsig = 0; + ioctl(kbdFD, VT_SETMODE, &vtMode); + + signal(VTSWITCHSIG, 0); + qDebug( "~QWSTtyKeyboardHandler() - released VT." ); +#endif + #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) ioctl(kbdFD, KDSKBMODE, K_XLATE); #endif ---- qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch -+++ qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp +--- qt-2.3.9-snapshot-20041221/src/kernel/qgfxlinuxfb_qws.cpp~vt-switch.patch ++++ qt-2.3.9-snapshot-20041221/src/kernel/qgfxlinuxfb_qws.cpp @@ -251,9 +251,9 @@ bool QLinuxFbScreen::initDevice() { - // No blankin' screen, no blinkin' cursor!, no cursor! + /* Setting up the VT parameters is done in qapplication_qws.cpp const char termctl[]="\033[9;0]\033[?33l\033[?25l"; - writeTerm(termctl,sizeof(termctl)); + writeTerm(termctl,sizeof(termctl)); */ // Grab current mode so we can reset it 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 @@ -diff -ru qt-2.3.5_fresh/include/qapplication.h qt-2.3.5/include/qapplication.h ---- qt-2.3.5_fresh/include/qapplication.h 2003-05-13 15:56:10.000000000 +0200 -+++ qt-2.3.5/include/qapplication.h 2003-05-13 15:58:18.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ru qt-2.3.5_fresh/include/qfontdatabase.h qt-2.3.5/include/qfontdatabase.h ---- qt-2.3.5_fresh/include/qfontdatabase.h 2003-05-13 15:56:11.000000000 +0200 -+++ qt-2.3.5/include/qfontdatabase.h 2003-05-13 15:58:18.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -ru qt-2.3.5_fresh/src/kernel/qapplication.cpp qt-2.3.5/src/kernel/qapplication.cpp ---- qt-2.3.5_fresh/src/kernel/qapplication.cpp 2003-05-13 15:56:10.000000000 +0200 -+++ qt-2.3.5/src/kernel/qapplication.cpp 2003-05-13 15:58:19.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -933,11 +935,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -958,6 +965,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1184,13 +1193,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1275,6 +1301,12 @@ - void QApplication::setFont( const QFont &font, bool informWidgets, - const char* className ) - { -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, -+ const char* className ) -+{ - bool all = FALSE; - if ( !className ) { - if ( !app_font ) { -Nur in qt-2.3.5/src/kernel: qapplication.cpp.orig. -diff -ru qt-2.3.5_fresh/src/kernel/qapplication.h qt-2.3.5/src/kernel/qapplication.h ---- qt-2.3.5_fresh/src/kernel/qapplication.h 2003-05-13 15:56:10.000000000 +0200 -+++ qt-2.3.5/src/kernel/qapplication.h 2003-05-13 15:58:18.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ru qt-2.3.5_fresh/src/kernel/qapplication_qws.cpp qt-2.3.5/src/kernel/qapplication_qws.cpp ---- qt-2.3.5_fresh/src/kernel/qapplication_qws.cpp 2003-05-13 15:56:10.000000000 +0200 -+++ qt-2.3.5/src/kernel/qapplication_qws.cpp 2003-05-13 15:58:18.000000000 +0200 -@@ -2737,6 +2737,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; -Nur in qt-2.3.5/src/kernel: qapplication_qws.cpp.orig. -diff -ru qt-2.3.5_fresh/src/kernel/qfontdatabase.cpp qt-2.3.5/src/kernel/qfontdatabase.cpp ---- qt-2.3.5_fresh/src/kernel/qfontdatabase.cpp 2003-05-13 15:56:11.000000000 +0200 -+++ qt-2.3.5/src/kernel/qfontdatabase.cpp 2003-05-13 15:58:18.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2424,6 +2426,13 @@ - const QString &style, - const QString &charSet ) - { -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ - QString cs( charSet ); - if ( charSet.isEmpty() ) { - QStringList lst = charSets( family ); -diff -ru qt-2.3.5_fresh/src/kernel/qfontdatabase.h qt-2.3.5/src/kernel/qfontdatabase.h ---- qt-2.3.5_fresh/src/kernel/qfontdatabase.h 2003-05-13 15:56:11.000000000 +0200 -+++ qt-2.3.5/src/kernel/qfontdatabase.h 2003-05-13 15:58:18.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -ru qt-2.3.5_fresh/src/kernel/qgfxraster_qws.cpp qt-2.3.5/src/kernel/qgfxraster_qws.cpp ---- qt-2.3.5_fresh/src/kernel/qgfxraster_qws.cpp 2003-05-13 15:56:11.000000000 +0200 -+++ qt-2.3.5/src/kernel/qgfxraster_qws.cpp 2003-05-13 15:58:18.000000000 +0200 -@@ -4205,7 +4205,7 @@ - setAlphaType(IgnoreAlpha); - if ( w <= 0 || h <= 0 || !ncliprect ) return; - GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) --#ifdef QWS_EXPERIMENTAL_FASTPATH -+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! - // ### fix for 8bpp - // This seems to be reliable now, at least for 16bpp - -Nur in qt-2.3.5/src/kernel: qgfxraster_qws.cpp.orig. -diff -ru qt-2.3.5_fresh/src/kernel/qwindowsystem_qws.cpp qt-2.3.5/src/kernel/qwindowsystem_qws.cpp ---- qt-2.3.5_fresh/src/kernel/qwindowsystem_qws.cpp 2003-05-13 15:56:11.000000000 +0200 -+++ qt-2.3.5/src/kernel/qwindowsystem_qws.cpp 2003-05-13 15:58:19.000000000 +0200 -@@ -843,6 +843,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -912,6 +924,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; -diff -ru qt-2.3.5_fresh/src/Makefile.in qt-2.3.5/src/Makefile.in ---- qt-2.3.5_fresh/src/Makefile.in 2003-05-13 15:56:13.000000000 +0200 -+++ qt-2.3.5/src/Makefile.in 2003-05-13 15:58:18.000000000 +0200 -@@ -6,7 +6,7 @@ - CXXFLAGS= $(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS_X11) $(SYSCONF_CXXFLAGS) $(SYSCONF_CXXFLAGS_LIB) -DQT_NO_IMAGEIO_MNG $(QT_CXXFLAGS_OPT) - CC = $(SYSCONF_CC) $(QT_C_MT) - CFLAGS = $(SYSCONF_CFLAGS) $(SYSCONF_CFLAGS_LIB) -DQT_NO_IMAGEIO_MNG $(QT_CFLAGS_OPT) --INCPATH = -I3rdparty/freetype/src -I3rdparty/freetype/include -I3rdparty/freetype/builds/unix -I3rdparty/kernel -I3rdparty/tools -+INCPATH = -I3rdparty/kernel -I3rdparty/tools - LFLAGS = $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT) - LIBS = $(SUBLIBS) $(SYSCONF_LIBS_QTLIB) - MOC = $(SYSCONF_MOC) -@@ -44,26 +44,7 @@ - 3rdparty/freetype/src/type1/type1.c \ - 3rdparty/freetype/src/winfonts/winfnt.c \ - allmoc.cpp --OBJECTS = 3rdparty/freetype/builds/unix/ftsystem.o \ -- 3rdparty/freetype/src/base/ftdebug.o \ -- 3rdparty/freetype/src/base/ftinit.o \ -- 3rdparty/freetype/src/base/ftbase.o \ -- 3rdparty/freetype/src/base/ftglyph.o \ -- 3rdparty/freetype/src/base/ftmm.o \ -- 3rdparty/freetype/src/base/ftbbox.o \ -- 3rdparty/freetype/src/autohint/autohint.o \ -- 3rdparty/freetype/src/cache/ftcache.o \ -- 3rdparty/freetype/src/cff/cff.o \ -- 3rdparty/freetype/src/cid/type1cid.o \ -- 3rdparty/freetype/src/psaux/psaux.o \ -- 3rdparty/freetype/src/psnames/psmodule.o \ -- 3rdparty/freetype/src/raster/raster.o \ -- 3rdparty/freetype/src/sfnt/sfnt.o \ -- 3rdparty/freetype/src/smooth/smooth.o \ -- 3rdparty/freetype/src/truetype/truetype.o \ -- 3rdparty/freetype/src/type1/type1.o \ -- 3rdparty/freetype/src/winfonts/winfnt.o \ -- allmoc.o $(QT_MODULE_OBJ) -+OBJECTS = allmoc.o $(QT_MODULE_OBJ) - INTERFACES = - UICDECLS = - UICIMPLS = -diff -ru qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp qt-2.3.5/src/widgets/qcommonstyle.cpp ---- qt-2.3.5_fresh/src/widgets/qcommonstyle.cpp 2003-05-13 15:56:12.000000000 +0200 -+++ qt-2.3.5/src/widgets/qcommonstyle.cpp 2003-05-13 15:58:19.000000000 +0200 -@@ -566,7 +566,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); -Nur in qt-2.3.5/src/widgets: qcommonstyle.cpp.orig. -diff -ru qt-2.3.5_fresh/src/widgets/qlistview.cpp qt-2.3.5/src/widgets/qlistview.cpp ---- qt-2.3.5_fresh/src/widgets/qlistview.cpp 2003-05-13 15:56:12.000000000 +0200 -+++ qt-2.3.5/src/widgets/qlistview.cpp 2003-05-13 15:58:18.000000000 +0200 -@@ -4968,9 +4968,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); -diff -ru qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp qt-2.3.5/src/widgets/qtoolbutton.cpp ---- qt-2.3.5_fresh/src/widgets/qtoolbutton.cpp 2003-05-13 15:56:12.000000000 +0200 -+++ qt-2.3.5/src/widgets/qtoolbutton.cpp 2003-05-13 15:58:18.000000000 +0200 -@@ -230,7 +230,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -324,12 +324,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - 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 @@ -Qt was not created for 240x320 and we adjust some default values to be more -sane for the usage on handhelds - - - - -diff -ur qt-2.3.7-old/src/widgets/qcommonstyle.cpp qt-2.3.7/src/widgets/qcommonstyle.cpp ---- qt-2.3.7-old/src/widgets/qcommonstyle.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qcommonstyle.cpp 2004-07-23 15:38:13.000000000 +0200 -@@ -566,7 +566,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); -diff -ur qt-2.3.7-old/src/widgets/qlistview.cpp qt-2.3.7/src/widgets/qlistview.cpp ---- qt-2.3.7-old/src/widgets/qlistview.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qlistview.cpp 2004-07-23 15:38:13.000000000 +0200 -@@ -4968,9 +4968,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); -diff -ur qt-2.3.7-old/src/widgets/qtoolbutton.cpp qt-2.3.7/src/widgets/qtoolbutton.cpp ---- qt-2.3.7-old/src/widgets/qtoolbutton.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qtoolbutton.cpp 2004-07-23 15:38:13.000000000 +0200 -@@ -230,7 +230,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -324,12 +324,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - 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 @@ -Binary files qt-2.3.7/bin/moc and qte-2.3.7/bin/moc differ -Binary files qt-2.3.7/bin/uic and qte-2.3.7/bin/uic differ -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/configs/darwin-generic-g++-shared qte-2.3.7/configs/darwin-generic-g++-shared ---- qt-2.3.7/configs/darwin-generic-g++-shared Thu Jan 1 01:00:00 1970 -+++ qte-2.3.7/configs/darwin-generic-g++-shared Mon Oct 27 14:27:25 2003 -@@ -0,0 +1,98 @@ -+# Compiling -+INTERFACE_DECL_PATH = . -+SYSCONF_CXX = g++ -+SYSCONF_CC = gcc -+DASHCROSS = -+ -+# Compiling with support libraries -+SYSCONF_CXXFLAGS_X11 = -I/usr/X11R6/include -+SYSCONF_CXXFLAGS_QT = -I$(QTDIR)/include -+SYSCONF_CXXFLAGS_QTOPIA = -I$(QPEDIR)/include -+SYSCONF_CXXFLAGS_OPENGL = -I/usr/X11R6/include -+ -+# Compiling YACC output -+SYSCONF_CXXFLAGS_YACC = -Wno-unused -Wno-parentheses -+ -+# Linking with support libraries -+SYSCONF_RPATH_X11 = -L/usr/X11R6/lib -+SYSCONF_RPATH_QT = -L$(QTDIR)/lib -+SYSCONF_RPATH_QTOPIA = -L$(QPEDIR)/lib -+SYSCONF_RPATH_OPENGL = -L/usr/X11R6/lib -+ -+# Linking with support libraries -+# X11 -+SYSCONF_LFLAGS_X11 = -L/usr/X11R6/lib -+SYSCONF_LIBS_X11 = -+# Qt, Qt+OpenGL -+SYSCONF_LFLAGS_QT = -L$(QTDIR)/lib -+SYSCONF_LFLAGS_QTOPIA = -L$(QPEDIR)/lib -+SYSCONF_LIBS_QT = -lqte$(QT_THREAD_SUFFIX) -+SYSCONF_LIBS_QT_OPENGL = -+SYSCONF_LIBS_QTOPIA = -lqtopia -+# OpenGL -+SYSCONF_LFLAGS_OPENGL = -L/usr/X11R6/lib -+SYSCONF_LIBS_OPENGL = -lGLU -lGL -lXmu -+# Yacc -+SYSCONF_LIBS_YACC = -+ -+# Linking applications -+SYSCONF_LINK = g++ -+SYSCONF_LFLAGS = -+SYSCONF_LIBS = -+ -+# Link flags for shared objects -+SYSCONF_LFLAGS_SHOBJ = -dynamiclib -+ -+# Flags for threading -+SYSCONF_CFLAGS_THREAD = -pthread -D_THREAD_SAFE -+SYSCONF_CXXFLAGS_THREAD = -pthread -D_THREAD_SAFE -+SYSCONF_LFLAGS_THREAD = -pthread -+SYSCONF_LIBS_THREAD = -+ -+# Meta-object compiler -+SYSCONF_MOC = $(QTDIR)/bin/moc -+ -+# UI compiler -+SYSCONF_UIC = $(QTDIR)/bin/uic -+ -+# Linking shared libraries -+# - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2 -+# - Place target in $(DESTDIR) - which has a trailing / -+# - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH) -+# -+SYSCONF_LINK_SHLIB = g++ -+SYSCONF_LINK_TARGET_SHARED = lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN).$(VER_PATCH) -+SYSCONF_LINK_LIB_SHARED = $(SYSCONF_LINK_SHLIB) -dynamiclib \ -+ $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \ -+ $(OBJECTS) $(OBJMOC) $(LIBS) && \ -+ mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \ -+ cd $(DESTDIR) && \ -+ rm -f lib$(TARGET).dylib lib$(TARGET).dylib.$(VER_MAJ) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN); \ -+ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib; \ -+ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ); \ -+ ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).dylib.$(VER_MAJ).$(VER_MIN) -+ -+# Linking static libraries -+# - Build the $(TARGET) library, eg. lib$(TARGET).a -+# - Place target in $(DESTDIR) - which has a trailing / -+# -+SYSCONF_AR = ar cqs -+SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a -+SYSCONF_LINK_LIB_STATIC = rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \ -+ $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC) -+# Compiling application source -+SYSCONF_CXXFLAGS = -pipe -fno-exceptions -DQWS -fno-rtti -fno-exceptions -DQT_NO_QWS_LINUXFB -DQT_NO_QWS_TRANSFORMED -O0 -Wall -W -DNO_DEBUG -+SYSCONF_CFLAGS = -pipe -fno-exceptions -O2 -Wall -W -+# Default link type (static linking is still be used where required) -+SYSCONF_LINK_LIB = $(SYSCONF_LINK_LIB_SHARED) -+SYSCONF_LINK_TARGET = $(SYSCONF_LINK_TARGET_SHARED) -+# Compiling library source -+SYSCONF_CXXFLAGS_LIB = -fPIC -+SYSCONF_CFLAGS_LIB = -fPIC -+# Compiling shared-object source -+SYSCONF_CXXFLAGS_SHOBJ = -fPIC -+SYSCONF_CFLAGS_SHOBJ = -fPIC -+# Linking Qt -+SYSCONF_LIBS_QTLIB = $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT) -+# Linking Qt applications -+SYSCONF_LIBS_QTAPP = -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qapplication.h qte-2.3.7/include/qapplication.h ---- qt-2.3.7/include/qapplication.h Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/include/qapplication.h Mon Oct 27 14:21:28 2003 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qconfig-qpe.h qte-2.3.7/include/qconfig-qpe.h ---- qt-2.3.7/include/qconfig-qpe.h Thu Jan 1 01:00:00 1970 -+++ qte-2.3.7/include/qconfig-qpe.h Sun Dec 14 12:48:43 2003 -@@ -0,0 +1,100 @@ -+/********************************************************************** -+** Copyright (C) 2000 Trolltech AS. All rights reserved. -+** -+** This file is part of Qtopia Environment. -+** -+** This file may be distributed and/or modified under the terms of the -+** GNU General Public License version 2 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. -+** -+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+** -+** See http://www.trolltech.com/gpl/ for GPL licensing information. -+** -+** Contact info@trolltech.com if any conditions of this licensing are -+** not clear to you. -+** -+**********************************************************************/ -+#ifndef QT_H -+#endif // QT_H -+ -+// Empty leaves all features enabled. See doc/html/features.html for choices. -+ -+// Note that disabling some features will produce a libqt that is not -+// compatible with other libqt builds. Such modifications are only -+// supported on Qt/Embedded where reducing the library size is important -+// and where the application-suite is often a fixed set. -+ -+#ifndef QT_DLL -+#define QT_DLL // Internal -+#endif -+ -+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX) -+# define QT_NO_QWS_CURSOR -+# define QT_NO_QWS_MOUSE_AUTO -+#endif -+#ifndef QT_NO_CODECS -+#define QT_NO_CODECS -+#endif -+#define QT_NO_UNICODETABLES -+//#define QT_NO_IMAGEIO_BMP -+#define QT_NO_IMAGEIO_PPM -+//#define QT_NO_ASYNC_IO -+//#define QT_NO_ASYNC_IMAGE_IO -+#define QT_NO_FREETYPE -+#define QT_NO_BDF -+//#define QT_NO_FONTDATABASE -+#define QT_NO_DRAGANDDROP -+//#define QT_NO_CLIPBOARD -+#define QT_NO_PROPERTIES -+#define QT_NO_NETWORKPROTOCOL -+ -+#define QT_NO_IMAGE_TEXT -+ -+//#define QT_NO_TOOLTIP -+#define QT_NO_COLORNAMES -+#define QT_NO_TRANSFORMATIONS -+#define QT_NO_TRANSLATION_BUILDER -+#define QT_NO_COMPLEXTEXT -+#define QT_NO_PRINTER -+#define QT_NO_PICTURE -+//#define QT_NO_ICONVIEW -+#define QT_NO_DIAL -+#define QT_NO_SIZEGRIP -+#define QT_NO_WORKSPACE -+//#define QT_NO_TABLE -+//#define QT_NO_ACTION -+//#define QT_NO_SETTINGS -+#define QT_NO_STYLE_POCKETPC -+#ifndef QT_NO_STYLE_AQUA -+# define QT_NO_STYLE_AQUA -+#endif -+#define QT_NO_STYLE_MOTIF -+#define QT_NO_STYLE_PLATINUM -+#define QT_NO_FILEDIALOG -+#define QT_NO_FONTDIALOG -+#define QT_NO_PRINTDIALOG -+#define QT_NO_COLORDIALOG -+#define QT_NO_INPUTDIALOG -+//#define QT_NO_MESSAGEBOX -+#define QT_NO_PROGRESSDIALOG -+//#define QT_NO_TABDIALOG -+#define QT_NO_WIZARD -+#define QT_NO_EFFECTS -+//#define QT_NO_COMPONENT -+#define QT_NO_DOM -+#define QT_NO_SEMIMODAL -+//#define QT_NO_PROGRESSBAR -+#define QT_NO_SPLITTER -+ -+//#define QT_NO_QWS_SAVEFONTS -+//#define QT_NO_QWS_PROPERTIES -+ -+#define QT_NO_QWS_BEOS_WM_STYLE -+#define QT_NO_QWS_KDE2_WM_STYLE -+#define QT_NO_QWS_KDE_WM_STYLE -+#define QT_NO_QWS_WINDOWS_WM_STYLE -+ -+#define QT_NO_SOUND -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qconfig.h qte-2.3.7/include/qconfig.h ---- qt-2.3.7/include/qconfig.h Fri Jan 26 14:43:06 2001 -+++ qte-2.3.7/include/qconfig.h Thu Dec 11 12:54:20 2003 -@@ -1,3 +1,26 @@ -+// Copied from qconfig-qpe.h -+/********************************************************************** -+** Copyright (C) 2000 Trolltech AS. All rights reserved. -+** -+** This file is part of Qtopia Environment. -+** -+** This file may be distributed and/or modified under the terms of the -+** GNU General Public License version 2 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. -+** -+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+** -+** See http://www.trolltech.com/gpl/ for GPL licensing information. -+** -+** Contact info@trolltech.com if any conditions of this licensing are -+** not clear to you. -+** -+**********************************************************************/ -+#ifndef QT_H -+#endif // QT_H -+ - // Empty leaves all features enabled. See doc/html/features.html for choices. - - // Note that disabling some features will produce a libqt that is not -@@ -8,3 +31,71 @@ - #ifndef QT_DLL - #define QT_DLL // Internal - #endif -+ -+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX) -+# define QT_NO_QWS_CURSOR -+# define QT_NO_QWS_MOUSE_AUTO -+#endif -+#ifndef QT_NO_CODECS -+#define QT_NO_CODECS -+#endif -+#define QT_NO_UNICODETABLES -+//#define QT_NO_IMAGEIO_BMP -+#define QT_NO_IMAGEIO_PPM -+//#define QT_NO_ASYNC_IO -+//#define QT_NO_ASYNC_IMAGE_IO -+#define QT_NO_FREETYPE -+#define QT_NO_BDF -+//#define QT_NO_FONTDATABASE -+#define QT_NO_DRAGANDDROP -+//#define QT_NO_CLIPBOARD -+#define QT_NO_PROPERTIES -+#define QT_NO_NETWORKPROTOCOL -+ -+#define QT_NO_IMAGE_TEXT -+ -+//#define QT_NO_TOOLTIP -+#define QT_NO_COLORNAMES -+#define QT_NO_TRANSFORMATIONS -+#define QT_NO_TRANSLATION_BUILDER -+#define QT_NO_COMPLEXTEXT -+#define QT_NO_PRINTER -+#define QT_NO_PICTURE -+//#define QT_NO_ICONVIEW -+#define QT_NO_DIAL -+#define QT_NO_SIZEGRIP -+#define QT_NO_WORKSPACE -+//#define QT_NO_TABLE -+//#define QT_NO_ACTION -+//#define QT_NO_SETTINGS -+#define QT_NO_STYLE_POCKETPC -+#ifndef QT_NO_STYLE_AQUA -+# define QT_NO_STYLE_AQUA -+#endif -+#define QT_NO_STYLE_MOTIF -+#define QT_NO_STYLE_PLATINUM -+#define QT_NO_FILEDIALOG -+#define QT_NO_FONTDIALOG -+#define QT_NO_PRINTDIALOG -+#define QT_NO_COLORDIALOG -+#define QT_NO_INPUTDIALOG -+//#define QT_NO_MESSAGEBOX -+#define QT_NO_PROGRESSDIALOG -+//#define QT_NO_TABDIALOG -+#define QT_NO_WIZARD -+#define QT_NO_EFFECTS -+//#define QT_NO_COMPONENT -+#define QT_NO_DOM -+#define QT_NO_SEMIMODAL -+//#define QT_NO_PROGRESSBAR -+#define QT_NO_SPLITTER -+ -+//#define QT_NO_QWS_SAVEFONTS -+//#define QT_NO_QWS_PROPERTIES -+ -+#define QT_NO_QWS_BEOS_WM_STYLE -+#define QT_NO_QWS_KDE2_WM_STYLE -+#define QT_NO_QWS_KDE_WM_STYLE -+#define QT_NO_QWS_WINDOWS_WM_STYLE -+ -+#define QT_NO_SOUND -\ No newline at end of file -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qfontdatabase.h qte-2.3.7/include/qfontdatabase.h ---- qt-2.3.7/include/qfontdatabase.h Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/include/qfontdatabase.h Mon Oct 27 14:21:28 2003 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qgifimageformat_p.h qte-2.3.7/include/qgifimageformat_p.h ---- qt-2.3.7/include/qgifimageformat_p.h Thu Jul 17 03:20:24 2003 -+++ qte-2.3.7/include/qgifimageformat_p.h Thu Jan 1 01:00:00 1970 -@@ -1,56 +0,0 @@ --/**************************************************************************** --** $Id$ --** --** Implementation of gif image/movie loading classes --** --** Created : 970617 --** --** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. --** --** This file is part of the kernel module of the Qt GUI Toolkit. --** --** This file may be distributed under the terms of the Q Public License --** as defined by Trolltech AS of Norway and appearing in the file --** LICENSE.QPL included in the packaging of this file. --** --** This file may be distributed and/or modified under the terms of the --** GNU General Public License version 2 as published by the Free Software --** Foundation and appearing in the file LICENSE.GPL included in the --** packaging of this file. --** --** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition --** licenses may use this file in accordance with the Qt Commercial License --** Agreement provided with the Software. --** --** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE --** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. --** --** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for --** information about Qt Commercial License Agreements. --** See http://www.trolltech.com/qpl/ for QPL licensing information. --** See http://www.trolltech.com/gpl/ for GPL licensing information. --** --** Contact info@trolltech.com if any conditions of this licensing are --** not clear to you. --** --**********************************************************************/ -- --#ifndef QT_H --#include "qasyncimageio.h" --#include "qgif.h" --#endif // QT_H -- --#ifndef QT_NO_ASYNC_IMAGE_IO -- --// See qgif.h for important information regarding this option --#if defined(QT_BUILTIN_GIF_READER) && QT_BUILTIN_GIF_READER == 1 -- --class Q_EXPORT QGIFFormatType : public QImageFormatType --{ -- QImageFormat* decoderFor(const uchar* buffer, int length); -- const char* formatName() const; --}; -- --#endif // QT_BUILTIN_GIF_READER -- --#endif // QT_NO_ASYNC_IMAGE_IO -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/include/qmodules.h qte-2.3.7/include/qmodules.h ---- qt-2.3.7/include/qmodules.h Fri Aug 31 17:00:56 2001 -+++ qte-2.3.7/include/qmodules.h Thu Dec 11 12:53:57 2003 -@@ -1,14 +1,12 @@ --#ifndef QT_H --#endif // QT_H -- -+// These modules are licensed to you - #define QT_MODULE_TOOLS - #define QT_MODULE_KERNEL - #define QT_MODULE_WIDGETS - #define QT_MODULE_DIALOGS -- - #define QT_MODULE_ICONVIEW - #define QT_MODULE_WORKSPACE --#define QT_MODULE_TABLE -+#define QT_MODULE_NETWORK - #define QT_MODULE_CANVAS -+#define QT_MODULE_TABLE - #define QT_MODULE_XML --#define QT_MODULE_NETWORK -+#define QT_MODULE_OPENGL -Binary files qt-2.3.7/lib/libqte.dylib and qte-2.3.7/lib/libqte.dylib differ -Binary files qt-2.3.7/lib/libqte.dylib.2 and qte-2.3.7/lib/libqte.dylib.2 differ -Binary files qt-2.3.7/lib/libqte.dylib.2.3 and qte-2.3.7/lib/libqte.dylib.2.3 differ -Binary files qt-2.3.7/lib/libqte.dylib.2.3.7 and qte-2.3.7/lib/libqte.dylib.2.3.7 differ -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qapplication.cpp qte-2.3.7/src/kernel/qapplication.cpp ---- qt-2.3.7/src/kernel/qapplication.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qapplication.cpp Mon Oct 27 14:21:28 2003 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -933,11 +935,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -958,6 +965,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1184,13 +1193,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1273,6 +1299,12 @@ - */ - - void QApplication::setFont( const QFont &font, bool informWidgets, -+ const char* className ) -+{ -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, - const char* className ) - { - bool all = FALSE; -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qapplication.h qte-2.3.7/src/kernel/qapplication.h ---- qt-2.3.7/src/kernel/qapplication.h Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qapplication.h Mon Oct 27 14:21:28 2003 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qapplication_qws.cpp qte-2.3.7/src/kernel/qapplication_qws.cpp ---- qt-2.3.7/src/kernel/qapplication_qws.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qapplication_qws.cpp Mon Oct 27 14:21:28 2003 -@@ -2804,6 +2804,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qfontdatabase.cpp qte-2.3.7/src/kernel/qfontdatabase.cpp ---- qt-2.3.7/src/kernel/qfontdatabase.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qfontdatabase.cpp Mon Oct 27 14:21:28 2003 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2421,6 +2423,13 @@ - */ - - QValueList<int> QFontDatabase::pointSizes( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, - const QString &style, - const QString &charSet ) - { -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qfontdatabase.h qte-2.3.7/src/kernel/qfontdatabase.h ---- qt-2.3.7/src/kernel/qfontdatabase.h Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qfontdatabase.h Mon Oct 27 14:21:28 2003 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qgfx_qws.cpp qte-2.3.7/src/kernel/qgfx_qws.cpp ---- qt-2.3.7/src/kernel/qgfx_qws.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qgfx_qws.cpp Mon Oct 27 14:27:25 2003 -@@ -32,7 +32,7 @@ - #include "qgfx_qws.h" - - #include <stdio.h> --#include <dlfcn.h> -+//#include <dlfcn.h> - #include <sys/types.h> - #include <dirent.h> - #include <stdlib.h> -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qgfxraster_qws.cpp qte-2.3.7/src/kernel/qgfxraster_qws.cpp ---- qt-2.3.7/src/kernel/qgfxraster_qws.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qgfxraster_qws.cpp Mon Oct 27 14:27:25 2003 -@@ -75,7 +75,11 @@ - # if __BYTE_ORDER == __BIG_ENDIAN - # define QWS_BIG_ENDIAN - # endif -+#elif defined(__APPLE__) -+# define QWS_BIG_ENDIAN - #endif -+// AJ: the above (test for __APPLE__) is very hacky, but I can't -+// think of something better at the moment. - - // Pull this private function in from qglobal.cpp - extern unsigned int qt_int_sqrt( unsigned int n ); -@@ -3770,6 +3774,19 @@ - b = srcval & 0xff; - - unsigned char * tmp=(unsigned char *)&alphabuf[loopc]; -+# ifdef QWS_BIG_ENDIAN -+ if(av==255) { -+ // Do nothing - we already have source values in r,g,b -+ } else if(av==0) { -+ r = *(tmp+1); -+ g = *(tmp+2); -+ b = *(tmp+3); -+ } else { -+ r = ((r-*(tmp+1)) * av) / 256 + *(tmp+1); -+ g = ((g-*(tmp+2)) * av) / 256 + *(tmp+2); -+ b = ((b-*(tmp+3)) * av) / 256 + *(tmp+3); -+ } -+# else - if(av==255) { - // Do nothing - we already have source values in r,g,b - } else if(av==0) { -@@ -3781,6 +3798,7 @@ - g = ((g-*(tmp+1)) * av) / 256 + *(tmp+1); - b = ((b-*(tmp+0)) * av) / 256 + *(tmp+0); - } -+# endif - *(alphaptr++) = (r << 16) | (g << 8) | b; - } - -@@ -4204,7 +4222,7 @@ - - } else if ( depth == 1 ) { - if (srctype==SourceImage) { -- static int warn; -+ static int warn = 0; - if ( warn++ < 5 ) - qDebug( "bitmap alpha-image not implemented" ); - hImageLineUnclipped( x1, x2, l, srcdata, FALSE ); -@@ -4237,7 +4255,7 @@ - setAlphaType(IgnoreAlpha); - if ( w <= 0 || h <= 0 || !ncliprect ) return; - GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) --#ifdef QWS_EXPERIMENTAL_FASTPATH -+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! - // ### fix for 8bpp - // This seems to be reliable now, at least for 16bpp - -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qkeyboard_qws.cpp qte-2.3.7/src/kernel/qkeyboard_qws.cpp ---- qt-2.3.7/src/kernel/qkeyboard_qws.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qkeyboard_qws.cpp Mon Oct 27 14:42:11 2003 -@@ -69,7 +69,7 @@ - #if !defined(_OS_QNX6_) - - #include <termios.h> --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - #include <sys/kd.h> - #include <sys/vt.h> - #endif -@@ -468,10 +468,12 @@ - void QWSPC101KeyboardHandler::restoreLeds() - { - char leds; -+#if !defined(_OS_MACX_) - ioctl(0, KDGETLED, &leds); - leds = leds & ~LED_CAP; - if ( caps ) leds |= LED_CAP; - ioctl(0, KDSETLED, leds); -+#endif - } - - class QWSTtyKeyboardHandler : public QWSPC101KeyboardHandler -@@ -547,7 +549,7 @@ - - static void vtSwitchHandler(int /*sig*/) - { --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - if (vtActive) { - qwsServer->enablePainting(false); - qt_screen->save(); -@@ -880,7 +882,7 @@ - if (term && !release) { - ctrl = false; - alt = false; --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - ioctl(kbdFD, VT_ACTIVATE, term); - #endif - return; -@@ -1031,7 +1033,7 @@ - struct termios termdata; - tcgetattr( kbdFD, &termdata ); - --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - ioctl(kbdFD, KDSKBMODE, K_RAW); - #endif - -@@ -1047,7 +1049,7 @@ - - signal(VTSWITCHSIG, vtSwitchHandler); - --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - struct vt_mode vtMode; - ioctl(kbdFD, VT_GETMODE, &vtMode); - -@@ -1068,7 +1070,7 @@ - { - if (kbdFD >= 0) - { --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - ioctl(kbdFD, KDSKBMODE, K_XLATE); - #endif - tcsetattr(kbdFD, TCSANOW, &origTermData); -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 ---- qt-2.3.7/src/kernel/qkeyboard_qws.cpp.rej Thu Jan 1 01:00:00 1970 -+++ qte-2.3.7/src/kernel/qkeyboard_qws.cpp.rej Mon Oct 27 14:27:25 2003 -@@ -0,0 +1,34 @@ -+*************** -+*** 1023,1029 **** -+ struct termios termdata; -+ tcgetattr( kbdFD, &termdata ); -+ -+- #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+ ioctl(kbdFD, KDSKBMODE, K_RAW); -+ #endif -+ -+--- 1023,1029 ---- -+ struct termios termdata; -+ tcgetattr( kbdFD, &termdata ); -+ -++ #if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+ ioctl(kbdFD, KDSKBMODE, K_RAW); -+ #endif -+ -+*************** -+*** 1039,1045 **** -+ -+ signal(VTSWITCHSIG, vtSwitchHandler); -+ -+- #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+ struct vt_mode vtMode; -+ ioctl(kbdFD, VT_GETMODE, &vtMode); -+ -+--- 1039,1045 ---- -+ -+ signal(VTSWITCHSIG, vtSwitchHandler); -+ -++ #if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+ struct vt_mode vtMode; -+ ioctl(kbdFD, VT_GETMODE, &vtMode); -+ -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qlock_qws.cpp qte-2.3.7/src/kernel/qlock_qws.cpp ---- qt-2.3.7/src/kernel/qlock_qws.cpp Thu Jul 17 03:20:25 2003 -+++ qte-2.3.7/src/kernel/qlock_qws.cpp Mon Oct 27 14:27:25 2003 -@@ -38,7 +38,7 @@ - #include <errno.h> - - #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) \ -- || defined _OS_FREEBSD_ -+ || defined(_OS_FREEBSD_) || defined(_OS_MACX_) - /* union semun is defined by including <sys/sem.h> */ - #else - /* according to X/OPEN we have to define it ourselves */ -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qwindowsystem_qws.cpp qte-2.3.7/src/kernel/qwindowsystem_qws.cpp ---- qt-2.3.7/src/kernel/qwindowsystem_qws.cpp Thu Jul 17 03:20:26 2003 -+++ qte-2.3.7/src/kernel/qwindowsystem_qws.cpp Mon Oct 27 14:27:25 2003 -@@ -844,6 +844,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -936,6 +948,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; -@@ -950,7 +963,7 @@ - - #ifndef QT_NO_QWS_MULTIPROCESS - if ( !geteuid() ) { --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - if( mount(0, "/var/shm", "shm", 0, 0) ) { - /* This just confuses people with 2.2 kernels - if ( errno != EBUSY ) -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/kernel/qwsmouse_qws.cpp qte-2.3.7/src/kernel/qwsmouse_qws.cpp ---- qt-2.3.7/src/kernel/qwsmouse_qws.cpp Thu Jul 17 03:20:26 2003 -+++ qte-2.3.7/src/kernel/qwsmouse_qws.cpp Mon Oct 27 14:27:25 2003 -@@ -336,7 +336,7 @@ - tty.c_oflag = 0; - tty.c_lflag = 0; - tty.c_cflag = f | CREAD | CLOCAL | HUPCL; --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - tty.c_line = 0; - #endif - tty.c_cc[VTIME] = 0; -@@ -889,7 +889,7 @@ - tty.c_iflag = IGNBRK | IGNPAR; - tty.c_oflag = 0; - tty.c_lflag = 0; --#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) - tty.c_line = 0; - #endif // _OS_FREEBSD_ - tty.c_cc[VTIME] = 0; -Binary files qt-2.3.7/src/moc/moc and qte-2.3.7/src/moc/moc differ -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/network/qdns.cpp qte-2.3.7/src/network/qdns.cpp ---- qt-2.3.7/src/network/qdns.cpp Thu Jul 17 03:20:26 2003 -+++ qte-2.3.7/src/network/qdns.cpp Sun Nov 16 13:44:27 2003 -@@ -1991,7 +1991,7 @@ - domains = new QStrList( TRUE ); - domains->setAutoDelete( TRUE ); - -- res_init(); -+ // res_init(); (eilers: Caused link problems) - int i; - // find the name servers to use - for( i=0; i < MAXNS && i < _res.nscount; i++ ) { -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/tools/qconfig-qpe.h qte-2.3.7/src/tools/qconfig-qpe.h ---- qt-2.3.7/src/tools/qconfig-qpe.h Thu Jan 1 01:00:00 1970 -+++ qte-2.3.7/src/tools/qconfig-qpe.h Sun Dec 14 12:48:43 2003 -@@ -0,0 +1,100 @@ -+/********************************************************************** -+** Copyright (C) 2000 Trolltech AS. All rights reserved. -+** -+** This file is part of Qtopia Environment. -+** -+** This file may be distributed and/or modified under the terms of the -+** GNU General Public License version 2 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. -+** -+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+** -+** See http://www.trolltech.com/gpl/ for GPL licensing information. -+** -+** Contact info@trolltech.com if any conditions of this licensing are -+** not clear to you. -+** -+**********************************************************************/ -+#ifndef QT_H -+#endif // QT_H -+ -+// Empty leaves all features enabled. See doc/html/features.html for choices. -+ -+// Note that disabling some features will produce a libqt that is not -+// compatible with other libqt builds. Such modifications are only -+// supported on Qt/Embedded where reducing the library size is important -+// and where the application-suite is often a fixed set. -+ -+#ifndef QT_DLL -+#define QT_DLL // Internal -+#endif -+ -+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX) -+# define QT_NO_QWS_CURSOR -+# define QT_NO_QWS_MOUSE_AUTO -+#endif -+#ifndef QT_NO_CODECS -+#define QT_NO_CODECS -+#endif -+#define QT_NO_UNICODETABLES -+//#define QT_NO_IMAGEIO_BMP -+#define QT_NO_IMAGEIO_PPM -+//#define QT_NO_ASYNC_IO -+//#define QT_NO_ASYNC_IMAGE_IO -+#define QT_NO_FREETYPE -+#define QT_NO_BDF -+//#define QT_NO_FONTDATABASE -+#define QT_NO_DRAGANDDROP -+//#define QT_NO_CLIPBOARD -+#define QT_NO_PROPERTIES -+#define QT_NO_NETWORKPROTOCOL -+ -+#define QT_NO_IMAGE_TEXT -+ -+//#define QT_NO_TOOLTIP -+#define QT_NO_COLORNAMES -+#define QT_NO_TRANSFORMATIONS -+#define QT_NO_TRANSLATION_BUILDER -+#define QT_NO_COMPLEXTEXT -+#define QT_NO_PRINTER -+#define QT_NO_PICTURE -+//#define QT_NO_ICONVIEW -+#define QT_NO_DIAL -+#define QT_NO_SIZEGRIP -+#define QT_NO_WORKSPACE -+//#define QT_NO_TABLE -+//#define QT_NO_ACTION -+//#define QT_NO_SETTINGS -+#define QT_NO_STYLE_POCKETPC -+#ifndef QT_NO_STYLE_AQUA -+# define QT_NO_STYLE_AQUA -+#endif -+#define QT_NO_STYLE_MOTIF -+#define QT_NO_STYLE_PLATINUM -+#define QT_NO_FILEDIALOG -+#define QT_NO_FONTDIALOG -+#define QT_NO_PRINTDIALOG -+#define QT_NO_COLORDIALOG -+#define QT_NO_INPUTDIALOG -+//#define QT_NO_MESSAGEBOX -+#define QT_NO_PROGRESSDIALOG -+//#define QT_NO_TABDIALOG -+#define QT_NO_WIZARD -+#define QT_NO_EFFECTS -+//#define QT_NO_COMPONENT -+#define QT_NO_DOM -+#define QT_NO_SEMIMODAL -+//#define QT_NO_PROGRESSBAR -+#define QT_NO_SPLITTER -+ -+//#define QT_NO_QWS_SAVEFONTS -+//#define QT_NO_QWS_PROPERTIES -+ -+#define QT_NO_QWS_BEOS_WM_STYLE -+#define QT_NO_QWS_KDE2_WM_STYLE -+#define QT_NO_QWS_KDE_WM_STYLE -+#define QT_NO_QWS_WINDOWS_WM_STYLE -+ -+#define QT_NO_SOUND -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/tools/qconfig.h qte-2.3.7/src/tools/qconfig.h ---- qt-2.3.7/src/tools/qconfig.h Fri Jan 26 14:43:06 2001 -+++ qte-2.3.7/src/tools/qconfig.h Thu Dec 11 12:54:20 2003 -@@ -1,3 +1,26 @@ -+// Copied from qconfig-qpe.h -+/********************************************************************** -+** Copyright (C) 2000 Trolltech AS. All rights reserved. -+** -+** This file is part of Qtopia Environment. -+** -+** This file may be distributed and/or modified under the terms of the -+** GNU General Public License version 2 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. -+** -+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+** -+** See http://www.trolltech.com/gpl/ for GPL licensing information. -+** -+** Contact info@trolltech.com if any conditions of this licensing are -+** not clear to you. -+** -+**********************************************************************/ -+#ifndef QT_H -+#endif // QT_H -+ - // Empty leaves all features enabled. See doc/html/features.html for choices. - - // Note that disabling some features will produce a libqt that is not -@@ -8,3 +31,71 @@ - #ifndef QT_DLL - #define QT_DLL // Internal - #endif -+ -+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX) -+# define QT_NO_QWS_CURSOR -+# define QT_NO_QWS_MOUSE_AUTO -+#endif -+#ifndef QT_NO_CODECS -+#define QT_NO_CODECS -+#endif -+#define QT_NO_UNICODETABLES -+//#define QT_NO_IMAGEIO_BMP -+#define QT_NO_IMAGEIO_PPM -+//#define QT_NO_ASYNC_IO -+//#define QT_NO_ASYNC_IMAGE_IO -+#define QT_NO_FREETYPE -+#define QT_NO_BDF -+//#define QT_NO_FONTDATABASE -+#define QT_NO_DRAGANDDROP -+//#define QT_NO_CLIPBOARD -+#define QT_NO_PROPERTIES -+#define QT_NO_NETWORKPROTOCOL -+ -+#define QT_NO_IMAGE_TEXT -+ -+//#define QT_NO_TOOLTIP -+#define QT_NO_COLORNAMES -+#define QT_NO_TRANSFORMATIONS -+#define QT_NO_TRANSLATION_BUILDER -+#define QT_NO_COMPLEXTEXT -+#define QT_NO_PRINTER -+#define QT_NO_PICTURE -+//#define QT_NO_ICONVIEW -+#define QT_NO_DIAL -+#define QT_NO_SIZEGRIP -+#define QT_NO_WORKSPACE -+//#define QT_NO_TABLE -+//#define QT_NO_ACTION -+//#define QT_NO_SETTINGS -+#define QT_NO_STYLE_POCKETPC -+#ifndef QT_NO_STYLE_AQUA -+# define QT_NO_STYLE_AQUA -+#endif -+#define QT_NO_STYLE_MOTIF -+#define QT_NO_STYLE_PLATINUM -+#define QT_NO_FILEDIALOG -+#define QT_NO_FONTDIALOG -+#define QT_NO_PRINTDIALOG -+#define QT_NO_COLORDIALOG -+#define QT_NO_INPUTDIALOG -+//#define QT_NO_MESSAGEBOX -+#define QT_NO_PROGRESSDIALOG -+//#define QT_NO_TABDIALOG -+#define QT_NO_WIZARD -+#define QT_NO_EFFECTS -+//#define QT_NO_COMPONENT -+#define QT_NO_DOM -+#define QT_NO_SEMIMODAL -+//#define QT_NO_PROGRESSBAR -+#define QT_NO_SPLITTER -+ -+//#define QT_NO_QWS_SAVEFONTS -+//#define QT_NO_QWS_PROPERTIES -+ -+#define QT_NO_QWS_BEOS_WM_STYLE -+#define QT_NO_QWS_KDE2_WM_STYLE -+#define QT_NO_QWS_KDE_WM_STYLE -+#define QT_NO_QWS_WINDOWS_WM_STYLE -+ -+#define QT_NO_SOUND -\ No newline at end of file -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/tools/qmodules.h qte-2.3.7/src/tools/qmodules.h ---- qt-2.3.7/src/tools/qmodules.h Fri Aug 31 17:00:56 2001 -+++ qte-2.3.7/src/tools/qmodules.h Thu Dec 11 12:53:57 2003 -@@ -1,14 +1,12 @@ --#ifndef QT_H --#endif // QT_H -- -+// These modules are licensed to you - #define QT_MODULE_TOOLS - #define QT_MODULE_KERNEL - #define QT_MODULE_WIDGETS - #define QT_MODULE_DIALOGS -- - #define QT_MODULE_ICONVIEW - #define QT_MODULE_WORKSPACE --#define QT_MODULE_TABLE -+#define QT_MODULE_NETWORK - #define QT_MODULE_CANVAS -+#define QT_MODULE_TABLE - #define QT_MODULE_XML --#define QT_MODULE_NETWORK -+#define QT_MODULE_OPENGL -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/widgets/qcommonstyle.cpp qte-2.3.7/src/widgets/qcommonstyle.cpp ---- qt-2.3.7/src/widgets/qcommonstyle.cpp Thu Jul 17 03:20:26 2003 -+++ qte-2.3.7/src/widgets/qcommonstyle.cpp Mon Oct 27 14:21:28 2003 -@@ -566,7 +566,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/widgets/qlistview.cpp qte-2.3.7/src/widgets/qlistview.cpp ---- qt-2.3.7/src/widgets/qlistview.cpp Thu Jul 17 03:20:26 2003 -+++ qte-2.3.7/src/widgets/qlistview.cpp Mon Oct 27 14:21:28 2003 -@@ -4968,9 +4968,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src/widgets/qtoolbutton.cpp qte-2.3.7/src/widgets/qtoolbutton.cpp ---- qt-2.3.7/src/widgets/qtoolbutton.cpp Thu Jul 17 03:20:27 2003 -+++ qte-2.3.7/src/widgets/qtoolbutton.cpp Mon Oct 27 14:21:28 2003 -@@ -230,7 +230,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -324,12 +324,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -diff -uNr --exclude-from=./diff_ignore qt-2.3.7/src-mt.mk qte-2.3.7/src-mt.mk ---- qt-2.3.7/src-mt.mk Thu Jan 1 01:00:00 1970 -+++ qte-2.3.7/src-mt.mk Thu Dec 11 12:53:57 2003 -@@ -0,0 +1,2 @@ -+all: -+ @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 @@ - - -Included patches: - -qte237-allowoverride.patch -qte237-g++-aslinker.patch -qte237-iconviewspeed.patch -qte237-adjustsizes.patch -qte237-encoding.patch -qte237-keyboard.patch -qte237-gcc34.patch -qte237-lefthand.patch - - - - - - - - - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared qt-2.3.7/configs/linux-generic-g++-shared ---- qt-2.3.7-old/configs/linux-generic-g++-shared 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-shared 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared-debug qt-2.3.7/configs/linux-generic-g++-shared-debug ---- qt-2.3.7-old/configs/linux-generic-g++-shared-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-shared-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-static qt-2.3.7/configs/linux-generic-g++-static ---- qt-2.3.7-old/configs/linux-generic-g++-static 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-static 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-static-debug qt-2.3.7/configs/linux-generic-g++-static-debug ---- qt-2.3.7-old/configs/linux-generic-g++-static-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-static-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared qt-2.3.7/configs/linux-generic_rtti-g++-shared ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-shared 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -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 ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static qt-2.3.7/configs/linux-generic_rtti-g++-static ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-static 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-static 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -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 ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-static-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared qt-2.3.7/configs/linux-x86rtti-g++-shared ---- qt-2.3.7-old/configs/linux-x86rtti-g++-shared 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-shared 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug qt-2.3.7/configs/linux-x86rtti-g++-shared-debug ---- qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x86rtti-g++-static ---- qt-2.3.7-old/configs/linux-x86rtti-g++-static 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-static 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug ---- qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/include/qapplication.h qt-2.3.7/include/qapplication.h ---- qt-2.3.7-old/include/qapplication.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qapplication.h 2004-07-23 15:25:42.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ur qt-2.3.7-old/include/qcstring.h qt-2.3.7/include/qcstring.h ---- qt-2.3.7-old/include/qcstring.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qcstring.h 2004-07-23 15:42:01.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.7-old/include/qfontdatabase.h qt-2.3.7/include/qfontdatabase.h ---- qt-2.3.7-old/include/qfontdatabase.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qfontdatabase.h 2004-07-23 15:25:42.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -ur qt-2.3.7-old/include/qglobal.h qt-2.3.7/include/qglobal.h ---- qt-2.3.7-old/include/qglobal.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qglobal.h 2004-07-23 15:42:01.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -diff -ur qt-2.3.7-old/include/qiconview.h qt-2.3.7/include/qiconview.h ---- qt-2.3.7-old/include/qiconview.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qiconview.h 2004-07-23 15:45:34.000000000 +0200 -@@ -444,6 +444,7 @@ - virtual void contentsDropEvent( QDropEvent *e ); - #endif - -+ void bufferedPaintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent *e ); - virtual void focusInEvent( QFocusEvent *e ); -diff -ur qt-2.3.7-old/include/qsortedlist.h qt-2.3.7/include/qsortedlist.h ---- qt-2.3.7-old/include/qsortedlist.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qsortedlist.h 2004-07-23 15:42:01.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.7-old/include/qstring.h qt-2.3.7/include/qstring.h ---- qt-2.3.7-old/include/qstring.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/include/qstring.h 2004-07-23 15:42:01.000000000 +0200 -@@ -163,8 +163,16 @@ - bool isLetterOrNumber() const; - bool isDigit() const; - -+ -+#ifdef Q_NO_PACKED_REFERENCE -+ uchar& cell() { return *(&cl); } -+ uchar& row() { return *(&rw); } -+#else - uchar& cell() { return cl; } -- uchar& row() { return rw; } -+ uchar& row() { return rw; } -+#endif -+ -+ - uchar cell() const { return cl; } - uchar row() const { return rw; } - -diff -ur qt-2.3.7-old/src/iconview/qiconview.cpp qt-2.3.7/src/iconview/qiconview.cpp ---- qt-2.3.7-old/src/iconview/qiconview.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/iconview/qiconview.cpp 2004-07-23 15:45:34.000000000 +0200 -@@ -220,6 +220,7 @@ - QIconView::SelectionMode selectionMode; - QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; - QRect *rubber; -+ QPixmap *backBuffer; - QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, - *fullRedrawTimer; - int rastX, rastY, spacing; -@@ -2263,6 +2264,7 @@ - d->currentItem = 0; - d->highlightedItem = 0; - d->rubber = 0; -+ d->backBuffer = 0; - d->scrollTimer = 0; - d->startDragItem = 0; - d->tmpCurrentItem = 0; -@@ -2411,6 +2413,8 @@ - delete item; - item = tmp; - } -+ delete d->backBuffer; -+ d->backBuffer = 0; - delete d->fm; - d->fm = 0; - #ifndef QT_NO_TOOLTIP -@@ -2877,6 +2881,48 @@ - } - - /*! -+ This function grabs all paintevents that otherwise would have been -+ processed by the QScrollView::viewportPaintEvent(). Here we use a -+ doublebuffer to reduce 'on-paint' flickering on QIconView -+ (and of course its childs). -+ -+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() -+*/ -+ -+void QIconView::bufferedPaintEvent( QPaintEvent* pe ) -+{ -+ QWidget* vp = viewport(); -+ QRect r = pe->rect() & vp->rect(); -+ int ex = r.x() + contentsX(); -+ int ey = r.y() + contentsY(); -+ int ew = r.width(); -+ int eh = r.height(); -+ -+ if ( !d->backBuffer ) -+ d->backBuffer = new QPixmap(vp->size()); -+ if ( d->backBuffer->size() != vp->size() ) { -+ //Resize function (with hysteesis). Uses a good compromise between memory -+ //consumption and speed (number) of resizes. -+ float newWidth = (float)vp->width(); -+ float newHeight = (float)vp->height(); -+ if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) -+ { -+ newWidth *= 1.1892; -+ newHeight *= 1.1892; -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } -+ -+ QPainter p; -+ p.begin(d->backBuffer, vp); -+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); -+ p.end(); -+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); -+} -+ -+/*! -+ - \reimp - */ - -@@ -4855,7 +4901,7 @@ - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); - } -- viewportPaintEvent( (QPaintEvent*)e ); -+ bufferedPaintEvent ((QPaintEvent*)e ); - if ( d->dragging ) { - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); -@@ -5286,11 +5332,19 @@ - return; - - if ( item->d->container1 && d->firstContainer ) { -- item->d->container1->items.removeRef( item ); -+ //Special-case checking of the last item, since this may be -+ //called a few times for the same item. -+ if (item->d->container1->items.last() == item) -+ item->d->container1->items.removeLast(); -+ else -+ item->d->container1->items.removeRef( item ); - } - item->d->container1 = 0; - if ( item->d->container2 && d->firstContainer ) { -- item->d->container2->items.removeRef( item ); -+ if (item->d->container2->items.last() == item) -+ item->d->container2->items.removeLast(); -+ else -+ item->d->container2->items.removeRef( item ); - } - item->d->container2 = 0; - -diff -ur qt-2.3.7-old/src/iconview/qiconview.h qt-2.3.7/src/iconview/qiconview.h ---- qt-2.3.7-old/src/iconview/qiconview.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/iconview/qiconview.h 2004-07-23 15:45:34.000000000 +0200 -@@ -444,6 +444,7 @@ - virtual void contentsDropEvent( QDropEvent *e ); - #endif - -+ void bufferedPaintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent *e ); - virtual void focusInEvent( QFocusEvent *e ); -diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp ---- qt-2.3.7-old/src/kernel/qapplication.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qapplication.cpp 2004-07-23 15:25:42.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -933,11 +935,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -958,6 +965,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1184,13 +1193,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1275,6 +1301,12 @@ - void QApplication::setFont( const QFont &font, bool informWidgets, - const char* className ) - { -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, -+ const char* className ) -+{ - bool all = FALSE; - if ( !className ) { - if ( !app_font ) { -diff -ur qt-2.3.7-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h ---- qt-2.3.7-old/src/kernel/qapplication.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qapplication.h 2004-07-23 15:25:42.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ur qt-2.3.7-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp ---- qt-2.3.7-old/src/kernel/qapplication_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qapplication_qws.cpp 2004-07-23 15:25:42.000000000 +0200 -@@ -2804,6 +2804,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; -diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp ---- qt-2.3.7-old/src/kernel/qfontdatabase.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qfontdatabase.cpp 2004-07-23 15:25:42.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2424,6 +2426,13 @@ - const QString &style, - const QString &charSet ) - { -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ - QString cs( charSet ); - if ( charSet.isEmpty() ) { - QStringList lst = charSets( family ); -diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h ---- qt-2.3.7-old/src/kernel/qfontdatabase.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qfontdatabase.h 2004-07-23 15:25:42.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -ur qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp ---- qt-2.3.7-old/src/kernel/qgfxtransformed_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp 2004-07-23 15:42:01.000000000 +0200 -@@ -671,11 +671,11 @@ - inline int tx( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return y - xoffs + yoffs; -+ return y - this->xoffs + this->yoffs; - case QTransformedScreen::Rot180: -- return (width - x - 1) - xoffs - xoffs; -+ return (this->width - x - 1) - this->xoffs - this->xoffs; - case QTransformedScreen::Rot270: -- return (height - y - 1) - xoffs - yoffs; -+ return (this->height - y - 1) - this->xoffs - this->yoffs; - default: - return x; - } -@@ -683,11 +683,11 @@ - inline int ty( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return (width - x - 1) - yoffs - xoffs; -+ return (this->width - x - 1) - this->yoffs - this->xoffs; - case QTransformedScreen::Rot180: -- return (height - y - 1) - yoffs - yoffs; -+ return (this->height - y - 1) - this->yoffs - this->yoffs; - case QTransformedScreen::Rot270: -- return x - yoffs + xoffs; -+ return x - this->yoffs + this->xoffs; - default: - return y; - } -@@ -715,23 +715,23 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) - { -- if ( srcbits == buffer ) { -+ if ( this->srcbits == this->buffer ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- srcwidgetoffs = QPoint( y, width - x - srcwidth ); -+ this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); - break; - case QTransformedScreen::Rot180: -- srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); -+ this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); - break; - case QTransformedScreen::Rot270: -- srcwidgetoffs = QPoint( height - y - srcheight, x ); -+ this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); - break; - default: -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - break; - } - } else -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - } - - template <const int depth, const int type> -@@ -739,8 +739,8 @@ - { - QT_TRANS_GFX_BASE<depth,type>::setSource(i); - QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - } - - template <const int depth, const int type> -@@ -782,7 +782,7 @@ - if ( w == 0 || h == 0 ) - return; - QRect r( x, y, w, h ); -- if ( cbrush.style() == SolidPattern ) { -+ if ( this->cbrush.style() == Qt::SolidPattern ) { - r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) ); - r = r.normalize(); - } -@@ -797,7 +797,7 @@ - // solution. The brush offset logic is complicated enough, so we don't - // fastpath patternedbrush. - -- if ( inDraw || cpen.style()==NoPen || patternedbrush ) { -+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) { - //slowpath - QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num ); - } else { -@@ -819,29 +819,29 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width ) - { -- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) { -+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) { - //in the patternedbrush case, we let blt do the transformation - // so we leave inDraw false. -- QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); -+ QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); - } else { - inDraw = TRUE; - while (n--) { - if ( *width > 0 ) { -- int x=tx(point->x(),point->y())+xoffs; -- int y=ty(point->x(),point->y())+yoffs; -+ int x=tx(point->x(),point->y())+this->xoffs; -+ int y=ty(point->x(),point->y())+this->yoffs; - - switch( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- vline( x, y-(*width-1), y ); -+ this->vline( x, y-(*width-1), y ); - break; - case QTransformedScreen::Rot180: -- hline( x - (*width-1), x, y ); -+ this->hline( x - (*width-1), x, y ); - break; - case QTransformedScreen::Rot270: -- vline( x, y, y+*width-1 ); -+ this->vline( x, y, y+*width-1 ); - break; - default: -- hline( x, x+*width-1, y ); -+ this->hline( x, x+*width-1, y ); - break; - } - } -@@ -896,14 +896,14 @@ - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: - rsx = sy; -- rsy = srcwidth - sx - w; -+ rsy = this->srcwidth - sx - w; - break; - case QTransformedScreen::Rot180: -- rsx = srcwidth - sx - w; -- rsy = srcheight - sy - h; -+ rsx = this->srcwidth - sx - w; -+ rsy = this->srcheight - sy - h; - break; - case QTransformedScreen::Rot270: -- rsx = srcheight - sy - h; -+ rsx = this->srcheight - sy - h; - rsy = sx; - break; - default: -@@ -941,39 +941,39 @@ - r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) ); - r = r.normalize(); - -- QPoint oldBrushOffs = brushoffs; -+ QPoint oldBrushOffs = this->brushoffs; - int brx, bry; - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- brx = brushoffs.y(); -- bry = srcwidth - brushoffs.x() - w; -+ brx = this->brushoffs.y(); -+ bry = this->srcwidth - this->brushoffs.x() - w; - break; - case QTransformedScreen::Rot180: -- brx = srcwidth - brushoffs.x() - w; -- bry = srcheight - brushoffs.y() - h; -+ brx = this->srcwidth - this->brushoffs.x() - w; -+ bry = this->srcheight - this->brushoffs.y() - h; - break; - case QTransformedScreen::Rot270: -- brx = srcheight - brushoffs.y() - h; -- bry = brushoffs.x(); -+ brx = this->srcheight - this->brushoffs.y() - h; -+ bry = this->brushoffs.x(); - break; - default: -- brx = brushoffs.x(); -- bry = brushoffs.y(); -+ brx = this->brushoffs.x(); -+ bry = this->brushoffs.y(); - break; - } -- brushoffs = QPoint( brx, bry ); -+ this->brushoffs = QPoint( brx, bry ); - -- int oldsw = srcwidth; -- int oldsh = srcheight; -- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ int oldsw = this->srcwidth; -+ int oldsh = this->srcheight; -+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) ); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - - QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() ); - -- srcwidth = oldsw; -- srcheight = oldsh; -- brushoffs = oldBrushOffs; -+ this->srcwidth = oldsw; -+ this->srcheight = oldsh; -+ this->brushoffs = oldBrushOffs; - inDraw = FALSE; - } - -diff -ur qt-2.3.7-old/src/kernel/qgfxvfb_qws.cpp qt-2.3.7/src/kernel/qgfxvfb_qws.cpp ---- qt-2.3.7-old/src/kernel/qgfxvfb_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxvfb_qws.cpp 2004-07-23 15:42:01.000000000 +0200 -@@ -31,7 +31,6 @@ - **********************************************************************/ - - #include "qgfxraster_qws.h" -- - #ifndef QT_NO_QWS_VFB - - #include <sys/ipc.h> -@@ -140,8 +139,8 @@ - void QGfxVFb<depth,type>::drawPoint( int x, int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) ); - QGfxRaster<depth,type>::drawPoint( x, y ); - QWSDisplay::ungrab(); - } -@@ -150,8 +149,8 @@ - void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPoints( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -160,9 +159,9 @@ - void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) { -+ if ( this->is_screen_gfx ) { - QRect r; -- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); -+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); - qvfb_screen->setDirty( r.normalize() ); - } - QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); -@@ -173,8 +172,8 @@ - void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::fillRect( x, y, w, h ); - QWSDisplay::ungrab(); - } -@@ -183,8 +182,8 @@ - void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolyline( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -193,8 +192,8 @@ - void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); - QWSDisplay::ungrab(); - } -@@ -203,8 +202,8 @@ - void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -215,8 +214,8 @@ - QWSDisplay::grab( TRUE ); - int dy = sy - y; - int dx = sx - x; -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, - w+abs(dx), h+abs(dy)) ); - QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); -@@ -227,8 +226,8 @@ - void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -238,8 +237,8 @@ - void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); - QWSDisplay::ungrab(); - } -diff -ur qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp qt-2.3.7/src/kernel/qkeyboard_qws.cpp ---- qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp 2004-07-23 15:33:46.000000000 +0200 -@@ -238,7 +238,7 @@ - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65 -- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66 -+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 - { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69 -diff -ur qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.7/src/kernel/qwindowsystem_qws.cpp ---- qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp 2004-07-23 15:33:47.000000000 +0200 -@@ -844,6 +844,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -936,6 +948,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; -diff -ur qt-2.3.7-old/src/tools/qcstring.h qt-2.3.7/src/tools/qcstring.h ---- qt-2.3.7-old/src/tools/qcstring.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/tools/qcstring.h 2004-07-23 15:42:01.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.7-old/src/tools/qglobal.h qt-2.3.7/src/tools/qglobal.h ---- qt-2.3.7-old/src/tools/qglobal.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/tools/qglobal.h 2004-07-23 15:42:01.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -diff -ur qt-2.3.7-old/src/tools/qmodules.h qt-2.3.7/src/tools/qmodules.h ---- qt-2.3.7-old/src/tools/qmodules.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/tools/qmodules.h 2004-07-23 16:03:09.000000000 +0200 -@@ -1,14 +1,11 @@ --#ifndef QT_H --#endif // QT_H -- -+// These modules are licensed to you - #define QT_MODULE_TOOLS - #define QT_MODULE_KERNEL - #define QT_MODULE_WIDGETS - #define QT_MODULE_DIALOGS -- - #define QT_MODULE_ICONVIEW - #define QT_MODULE_WORKSPACE --#define QT_MODULE_TABLE -+#define QT_MODULE_NETWORK - #define QT_MODULE_CANVAS -+#define QT_MODULE_TABLE - #define QT_MODULE_XML --#define QT_MODULE_NETWORK -diff -ur qt-2.3.7-old/src/tools/qsortedlist.h qt-2.3.7/src/tools/qsortedlist.h ---- qt-2.3.7-old/src/tools/qsortedlist.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/tools/qsortedlist.h 2004-07-23 15:42:01.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.7-old/src/tools/qstring.cpp qt-2.3.7/src/tools/qstring.cpp ---- qt-2.3.7-old/src/tools/qstring.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/tools/qstring.cpp 2004-07-23 15:44:25.000000000 +0200 -@@ -14469,7 +14469,11 @@ - return qt_winQString2MB( *this ); - #endif - #ifdef _WS_QWS_ -- return utf8(); // ##### if there is ANY 8 bit format supported? -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ return codec -+ ? codec->fromUnicode(*this) -+ : utf8(); -+ //return latin1(); // ##### if there is ANY 8 bit format supported? - #endif - #endif - } -@@ -14515,7 +14519,12 @@ - return qt_winMB2QString( local8Bit ); - #endif - #ifdef _WS_QWS_ -- return fromUtf8(local8Bit,len); -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ if( len < 0) len = qstrlen(local8Bit); -+ return codec -+ ? codec->toUnicode(local8Bit, len) -+ : QString::fromUtf8(local8Bit,len); -+// return fromLatin1(local8Bit,len); - #endif - #endif // QT_NO_TEXTCODEC - } -diff -ur qt-2.3.7-old/src/tools/qstring.h qt-2.3.7/src/tools/qstring.h ---- qt-2.3.7-old/src/tools/qstring.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/tools/qstring.h 2004-07-23 15:42:01.000000000 +0200 -@@ -163,8 +163,16 @@ - bool isLetterOrNumber() const; - bool isDigit() const; - -+ -+#ifdef Q_NO_PACKED_REFERENCE -+ uchar& cell() { return *(&cl); } -+ uchar& row() { return *(&rw); } -+#else - uchar& cell() { return cl; } -- uchar& row() { return rw; } -+ uchar& row() { return rw; } -+#endif -+ -+ - uchar cell() const { return cl; } - uchar row() const { return rw; } - -diff -ur qt-2.3.7-old/src/widgets/qcommonstyle.cpp qt-2.3.7/src/widgets/qcommonstyle.cpp ---- qt-2.3.7-old/src/widgets/qcommonstyle.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qcommonstyle.cpp 2004-07-23 15:38:13.000000000 +0200 -@@ -566,7 +566,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); -diff -ur qt-2.3.7-old/src/widgets/qlistview.cpp qt-2.3.7/src/widgets/qlistview.cpp ---- qt-2.3.7-old/src/widgets/qlistview.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qlistview.cpp 2004-07-23 15:38:13.000000000 +0200 -@@ -4968,9 +4968,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); -diff -ur qt-2.3.7-old/src/widgets/qscrollview.cpp qt-2.3.7/src/widgets/qscrollview.cpp ---- qt-2.3.7-old/src/widgets/qscrollview.cpp 2004-07-23 19:25:18.000000000 +0200 -+++ qt-2.3.7/src/widgets/qscrollview.cpp 2004-07-23 19:23:10.000000000 +0200 -@@ -526,15 +526,16 @@ - this, SLOT( doDragAutoScroll() ) ); - #endif - -- connect( &d->hbar, SIGNAL( valueChanged( int ) ), -- this, SLOT( hslide( int ) ) ); -- connect( &d->vbar, SIGNAL( valueChanged( int ) ), -- this, SLOT( vslide( int ) ) ); -+ connect( &d->hbar, SIGNAL( valueChanged(int) ), -+ this, SLOT( hslide(int) ) ); -+ connect( &d->vbar, SIGNAL( valueChanged(int) ), -+ this, SLOT( vslide(int) ) ); - d->viewport.installEventFilter( this ); - - setFrameStyle( QFrame::StyledPanel | QFrame::Sunken ); - setLineWidth( style().defaultFrameWidth() ); - setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) ); -+ - } - - -@@ -683,6 +684,11 @@ - h-tmarg-bmarg - (showh ? hsbExt : 0) ); - } - -+/* -+ The surrounding environment (or application, if there is no -+ environment, may set this. Requires Qt >= 2.3.8. -+*/ -+bool qt_left_hand_scrollbars = FALSE; - - /*! - Updates scrollbars - all possibilities considered. You should never -@@ -786,45 +792,50 @@ - - // Position the scrollbars, viewport, and corner widget. - int bottom; -+ int xoffset = ( qt_left_hand_scrollbars && ( showv || cornerWidget() ) ) ? vsbExt : 0; -+ int xpos = qt_left_hand_scrollbars ? 0 : w-vsbExt; -+ xpos = (style() == WindowsStyle) && qt_left_hand_scrollbars ? xpos + fw : xpos - fw; -+ int ypos = tmarg; -+ ypos = (style() == WindowsStyle) ? ypos +fw : 0; - if ( showh ) { - int right = ( showv || cornerWidget() ) ? w-vsbExt : w; - if ( style() == WindowsStyle ) -- setHBarGeometry(d->hbar, fw, h-hsbExt-fw, -+ setHBarGeometry(d->hbar, fw + xoffset , h-hsbExt-fw, - right-fw-fw, hsbExt ); - else -- setHBarGeometry(d->hbar, 0, h-hsbExt, right, -+ setHBarGeometry(d->hbar, 0+ xoffset, h-hsbExt, right, - hsbExt ); - bottom=h-hsbExt; - } else { - bottom=h; - } - if ( showv ) { -- clipper()->setGeometry( lmarg, tmarg, -+ clipper()->setGeometry( lmarg + xoffset, tmarg, - w-vsbExt-lmarg-rmarg, - bottom-tmarg-bmarg ); - d->viewportResized( w-vsbExt-lmarg-rmarg, bottom-tmarg-bmarg ); - if ( style() == WindowsStyle ) -- changeFrameRect(QRect(0, 0, w, h) ); -+ changeFrameRect(QRect(xoffset, 0, w, h) ); - else -- changeFrameRect(QRect(0, 0, w-vsbExt, bottom)); -+ changeFrameRect(QRect(xoffset, 0, w-vsbExt, bottom)); - if (cornerWidget()) { - if ( style() == WindowsStyle ) -- setVBarGeometry( d->vbar, w-vsbExt-fw, -- fw, vsbExt, -- h-hsbExt-fw-fw ); -+ setVBarGeometry( d->vbar, xpos, -+ ypos, vsbExt, -+ bottom-fw-ypos ); - else -- setVBarGeometry( d->vbar, w-vsbExt, 0, -+ setVBarGeometry( d->vbar, xpos, ypos, - vsbExt, -- h-hsbExt ); -+ bottom-ypos ); - } - else { - if ( style() == WindowsStyle ) -- setVBarGeometry( d->vbar, w-vsbExt-fw, -- fw, vsbExt, -- bottom-fw-fw ); -+ setVBarGeometry( d->vbar, xpos, -+ ypos, vsbExt, -+ bottom-fw-ypos ); - else -- setVBarGeometry( d->vbar, w-vsbExt, 0, -- vsbExt, bottom ); -+ setVBarGeometry( d->vbar, xpos, ypos, -+ vsbExt, bottom-ypos ); - } - } else { - if ( style() == WindowsStyle ) -@@ -837,12 +848,12 @@ - } - if ( d->corner ) { - if ( style() == WindowsStyle ) -- d->corner->setGeometry( w-vsbExt-fw, -+ d->corner->setGeometry( xpos, - h-hsbExt-fw, - vsbExt, - hsbExt ); - else -- d->corner->setGeometry( w-vsbExt, -+ d->corner->setGeometry( xpos, - h-hsbExt, - vsbExt, - hsbExt ); -@@ -1266,6 +1277,9 @@ - case QEvent::LayoutHint: - d->autoResizeHint(this); - break; -+ case QEvent::WindowActivate: -+ case QEvent::WindowDeactivate: -+ return TRUE; - default: - break; - } -@@ -1675,7 +1689,7 @@ - } - - /*! -- Scrolls the content by \a x to the left and \a y upwards. -+ Scrolls the content by \a dx to the left and \a dy upwards. - */ - void QScrollView::scrollBy( int dx, int dy ) - { -diff -ur qt-2.3.7-old/src/widgets/qtoolbutton.cpp qt-2.3.7/src/widgets/qtoolbutton.cpp ---- qt-2.3.7-old/src/widgets/qtoolbutton.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/widgets/qtoolbutton.cpp 2004-07-23 15:38:13.000000000 +0200 -@@ -230,7 +230,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -324,12 +324,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -diff -ur qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp qt-2.3.7/src/kernel/qgfxvnc_qws.cpp ---- qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxvnc_qws.cpp 2004-09-10 21:10:54.000000000 +0200 -@@ -971,7 +971,7 @@ - void QGfxVNC<depth,type>::drawPoint( int x, int y ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) & this->clipbounds ); - QGfxRaster<depth,type>::drawPoint( x, y ); - QWSDisplay::ungrab(); - } -@@ -981,8 +981,8 @@ - { - QWSDisplay::grab( TRUE ); - QRect r = pa.boundingRect(); -- r.moveBy( xoffs, yoffs ); -- qvnc_screen->setDirty( r & clipbounds ); -+ r.moveBy( this->xoffs, this->yoffs ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawPoints( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -992,9 +992,9 @@ - { - QWSDisplay::grab( TRUE ); - QRect r; -- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); -+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); - r = r.normalize(); -- qvnc_screen->setDirty( r & clipbounds ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); - QWSDisplay::ungrab(); - } -@@ -1003,7 +1003,7 @@ - void QGfxVNC<depth,type>::fillRect( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds ); - QGfxRaster<depth,type>::fillRect( x, y, w, h ); - QWSDisplay::ungrab(); - } -@@ -1013,8 +1013,8 @@ - { - QWSDisplay::grab( TRUE ); - QRect r = pa.boundingRect(); -- r.moveBy( xoffs, yoffs ); -- qvnc_screen->setDirty( r & clipbounds ); -+ r.moveBy( this->xoffs, this->yoffs ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawPolyline( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -1024,8 +1024,8 @@ - { - QWSDisplay::grab( TRUE ); - QRect r = pa.boundingRect(); -- r.moveBy( xoffs, yoffs ); -- qvnc_screen->setDirty( r & clipbounds ); -+ r.moveBy( this->xoffs, this->yoffs ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); - QWSDisplay::ungrab(); - } -@@ -1034,7 +1034,7 @@ - void QGfxVNC<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds ); - QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -1045,8 +1045,8 @@ - QWSDisplay::grab( TRUE ); - int dy = sy - y; - int dx = sx - x; -- qvnc_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, -- w+abs(dx), h+abs(dy)) & clipbounds ); -+ qvnc_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, -+ w+abs(dx), h+abs(dy)) & this->clipbounds ); - QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -1056,7 +1056,7 @@ - void QGfxVNC<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds ); - QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -1066,7 +1066,7 @@ - void QGfxVNC<depth,type>::tiledBlt( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) & clipbounds ); -+ qvnc_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds ); - QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); - QWSDisplay::ungrab(); - } -diff -ur qt-2.3.7_old/src/kernel/qwsdecoration_qws.h qt-2.3.7/src/kernel/qwsdecoration_qws.h ---- qt-2.3.7_old/src/kernel/qwsdecoration_qws.h 2003-07-17 03:20:26.000000000 +0200 -+++ qt-2.3.7/src/kernel/qwsdecoration_qws.h 2004-09-13 15:44:13.000000000 +0200 -@@ -50,7 +50,7 @@ - enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6, - TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10, - Close=11, Minimize=12, Maximize=13, Normalize=14, -- Menu=15, LastRegion=Menu }; -+ Menu=15, LastRegion=Menu, UserDefined = 100 }; - - virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0; - 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 @@ -Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used -to be multiplied with 10, some apps get confused by that and -in Opie we allow to work around for specefic application - -Courtsey to Robert 'sandman' Griebl - - - - - - - - -diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp ---- qt-2.3.7-old/src/kernel/qapplication.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qapplication.cpp 2004-07-23 15:25:42.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -933,11 +935,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -958,6 +965,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1184,13 +1193,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1275,6 +1301,12 @@ - void QApplication::setFont( const QFont &font, bool informWidgets, - const char* className ) - { -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, -+ const char* className ) -+{ - bool all = FALSE; - if ( !className ) { - if ( !app_font ) { -diff -ur qt-2.3.7-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h ---- qt-2.3.7-old/src/kernel/qapplication.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qapplication.h 2004-07-23 15:25:42.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ur qt-2.3.7-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp ---- qt-2.3.7-old/src/kernel/qapplication_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qapplication_qws.cpp 2004-07-23 15:25:42.000000000 +0200 -@@ -2804,6 +2804,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; -diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp ---- qt-2.3.7-old/src/kernel/qfontdatabase.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qfontdatabase.cpp 2004-07-23 15:25:42.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2424,6 +2426,13 @@ - const QString &style, - const QString &charSet ) - { -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ - QString cs( charSet ); - if ( charSet.isEmpty() ) { - QStringList lst = charSets( family ); -diff -ur qt-2.3.7-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h ---- qt-2.3.7-old/src/kernel/qfontdatabase.h 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qfontdatabase.h 2004-07-23 15:25:42.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - 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 @@ -German umlaute quite likely french, italian, spanish did -not work due QFile::[decode,encode]Name did call QString -local8Bit,fromLocal8Bit which plainly tried to use utf8 -encoding even if not useful. So a filename got changed -and QFileInfo recognized the file not beeing present anymore... -which lead to files not be shown. -Also with Year-Names problem exists as the base system sent -it encoded upstream. - -If you want to have UTF-8 encoding use LC_CTYPE as always and -QTextCodec::codecForLocale will use the right UTF-8 encoding. - -As fallback the old behaviour was preserved - - - - - - - ---- qt-2.3.7-old/src/tools/qstring.cpp 2004-07-23 14:33:02.000000000 +0200 -+++ qt-2.3.7/src/tools/qstring.cpp 2004-07-23 14:32:31.000000000 +0200 -@@ -14469,7 +14469,11 @@ - return qt_winQString2MB( *this ); - #endif - #ifdef _WS_QWS_ -- return utf8(); // ##### if there is ANY 8 bit format supported? -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ return codec -+ ? codec->fromUnicode(*this) -+ : utf8(); -+ //return latin1(); // ##### if there is ANY 8 bit format supported? - #endif - #endif - } -@@ -14515,7 +14519,12 @@ - return qt_winMB2QString( local8Bit ); - #endif - #ifdef _WS_QWS_ -- return fromUtf8(local8Bit,len); -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ if( len < 0) len = qstrlen(local8Bit); -+ return codec -+ ? codec->toUnicode(local8Bit, len) -+ : QString::fromUtf8(local8Bit,len); -+// return fromLatin1(local8Bit,len); - #endif - #endif // QT_NO_TEXTCODEC - } 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 @@ -GCC3 requires libstdc++ for virtual all C++ application -linking with gcc would trigger unresolved symbols like -new, delete, pure_virtual etc. - -This is the safe one which works with gcc2 and gcc3. If you do -not want the stdc++ dependency link with gcc and add -lsupc++ to the -library dependency - - - - - - - - - - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared qt-2.3.7/configs/linux-generic-g++-shared ---- qt-2.3.7-old/configs/linux-generic-g++-shared 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-shared 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-shared-debug qt-2.3.7/configs/linux-generic-g++-shared-debug ---- qt-2.3.7-old/configs/linux-generic-g++-shared-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-shared-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-static qt-2.3.7/configs/linux-generic-g++-static ---- qt-2.3.7-old/configs/linux-generic-g++-static 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-static 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic-g++-static-debug qt-2.3.7/configs/linux-generic-g++-static-debug ---- qt-2.3.7-old/configs/linux-generic-g++-static-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic-g++-static-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-shared qt-2.3.7/configs/linux-generic_rtti-g++-shared ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-shared 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -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 ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-shared-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-generic_rtti-g++-static qt-2.3.7/configs/linux-generic_rtti-g++-static ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-static 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-static 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -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 ---- qt-2.3.7-old/configs/linux-generic_rtti-g++-static-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-generic_rtti-g++-static-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared qt-2.3.7/configs/linux-x86rtti-g++-shared ---- qt-2.3.7-old/configs/linux-x86rtti-g++-shared 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-shared 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug qt-2.3.7/configs/linux-x86rtti-g++-shared-debug ---- qt-2.3.7-old/configs/linux-x86rtti-g++-shared-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x86rtti-g++-static ---- qt-2.3.7-old/configs/linux-x86rtti-g++-static 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-static 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - -diff -ur qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug ---- qt-2.3.7-old/configs/linux-x86rtti-g++-static-debug 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug 2004-07-23 15:23:12.000000000 +0200 -@@ -36,7 +36,7 @@ - SYSCONF_LIBS_YACC = - - # Linking applications --SYSCONF_LINK = gcc -+SYSCONF_LINK = g++ - SYSCONF_LFLAGS = - SYSCONF_LIBS = -lm - 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 @@ -diff -ur qt-2.3.7_old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp ---- qt-2.3.7_old/src/kernel/qgfxtransformed_qws.cpp 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxtransformed_qws.cpp 2004-09-10 21:08:42.000000000 +0200 -@@ -671,11 +671,11 @@ - inline int tx( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return y - xoffs + yoffs; -+ return y - this->xoffs + this->yoffs; - case QTransformedScreen::Rot180: -- return (width - x - 1) - xoffs - xoffs; -+ return (this->width - x - 1) - this->xoffs - this->xoffs; - case QTransformedScreen::Rot270: -- return (height - y - 1) - xoffs - yoffs; -+ return (this->height - y - 1) - this->xoffs - this->yoffs; - default: - return x; - } -@@ -683,11 +683,11 @@ - inline int ty( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return (width - x - 1) - yoffs - xoffs; -+ return (this->width - x - 1) - this->yoffs - this->xoffs; - case QTransformedScreen::Rot180: -- return (height - y - 1) - yoffs - yoffs; -+ return (this->height - y - 1) - this->yoffs - this->yoffs; - case QTransformedScreen::Rot270: -- return x - yoffs + xoffs; -+ return x - this->yoffs + this->xoffs; - default: - return y; - } -@@ -715,23 +715,23 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) - { -- if ( srcbits == buffer ) { -+ if ( this->srcbits == this->buffer ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- srcwidgetoffs = QPoint( y, width - x - srcwidth ); -+ this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); - break; - case QTransformedScreen::Rot180: -- srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); -+ this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); - break; - case QTransformedScreen::Rot270: -- srcwidgetoffs = QPoint( height - y - srcheight, x ); -+ this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); - break; - default: -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - break; - } - } else -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - } - - template <const int depth, const int type> -@@ -739,8 +739,8 @@ - { - QT_TRANS_GFX_BASE<depth,type>::setSource(i); - QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - } - - template <const int depth, const int type> -@@ -782,7 +782,7 @@ - if ( w == 0 || h == 0 ) - return; - QRect r( x, y, w, h ); -- if ( cbrush.style() == SolidPattern ) { -+ if ( this->cbrush.style() == Qt::SolidPattern ) { - r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) ); - r = r.normalize(); - } -@@ -797,7 +797,7 @@ - // solution. The brush offset logic is complicated enough, so we don't - // fastpath patternedbrush. - -- if ( inDraw || cpen.style()==NoPen || patternedbrush ) { -+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) { - //slowpath - QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num ); - } else { -@@ -819,29 +819,29 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width ) - { -- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) { -+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) { - //in the patternedbrush case, we let blt do the transformation - // so we leave inDraw false. -- QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); -+ QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); - } else { - inDraw = TRUE; - while (n--) { - if ( *width > 0 ) { -- int x=tx(point->x(),point->y())+xoffs; -- int y=ty(point->x(),point->y())+yoffs; -+ int x=tx(point->x(),point->y())+this->xoffs; -+ int y=ty(point->x(),point->y())+this->yoffs; - - switch( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- vline( x, y-(*width-1), y ); -+ this->vline( x, y-(*width-1), y ); - break; - case QTransformedScreen::Rot180: -- hline( x - (*width-1), x, y ); -+ this->hline( x - (*width-1), x, y ); - break; - case QTransformedScreen::Rot270: -- vline( x, y, y+*width-1 ); -+ this->vline( x, y, y+*width-1 ); - break; - default: -- hline( x, x+*width-1, y ); -+ this->hline( x, x+*width-1, y ); - break; - } - } -@@ -896,14 +896,14 @@ - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: - rsx = sy; -- rsy = srcwidth - sx - w; -+ rsy = this->srcwidth - sx - w; - break; - case QTransformedScreen::Rot180: -- rsx = srcwidth - sx - w; -- rsy = srcheight - sy - h; -+ rsx = this->srcwidth - sx - w; -+ rsy = this->srcheight - sy - h; - break; - case QTransformedScreen::Rot270: -- rsx = srcheight - sy - h; -+ rsx = this->srcheight - sy - h; - rsy = sx; - break; - default: -@@ -941,39 +941,39 @@ - r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) ); - r = r.normalize(); - -- QPoint oldBrushOffs = brushoffs; -+ QPoint oldBrushOffs = this->brushoffs; - int brx, bry; - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- brx = brushoffs.y(); -- bry = srcwidth - brushoffs.x() - w; -+ brx = this->brushoffs.y(); -+ bry = this->srcwidth - this->brushoffs.x() - w; - break; - case QTransformedScreen::Rot180: -- brx = srcwidth - brushoffs.x() - w; -- bry = srcheight - brushoffs.y() - h; -+ brx = this->srcwidth - this->brushoffs.x() - w; -+ bry = this->srcheight - this->brushoffs.y() - h; - break; - case QTransformedScreen::Rot270: -- brx = srcheight - brushoffs.y() - h; -- bry = brushoffs.x(); -+ brx = this->srcheight - this->brushoffs.y() - h; -+ bry = this->brushoffs.x(); - break; - default: -- brx = brushoffs.x(); -- bry = brushoffs.y(); -+ brx = this->brushoffs.x(); -+ bry = this->brushoffs.y(); - break; - } -- brushoffs = QPoint( brx, bry ); -+ this->brushoffs = QPoint( brx, bry ); - -- int oldsw = srcwidth; -- int oldsh = srcheight; -- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ int oldsw = this->srcwidth; -+ int oldsh = this->srcheight; -+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) ); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - - QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() ); - -- srcwidth = oldsw; -- srcheight = oldsh; -- brushoffs = oldBrushOffs; -+ this->srcwidth = oldsw; -+ this->srcheight = oldsh; -+ this->brushoffs = oldBrushOffs; - inDraw = FALSE; - } - -diff -ur qt-2.3.7_old/src/kernel/qgfxvfb_qws.cpp qt-2.3.7/src/kernel/qgfxvfb_qws.cpp ---- qt-2.3.7_old/src/kernel/qgfxvfb_qws.cpp 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxvfb_qws.cpp 2004-09-10 21:08:42.000000000 +0200 -@@ -31,7 +31,6 @@ - **********************************************************************/ - - #include "qgfxraster_qws.h" -- - #ifndef QT_NO_QWS_VFB - - #include <sys/ipc.h> -@@ -140,8 +139,8 @@ - void QGfxVFb<depth,type>::drawPoint( int x, int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) ); - QGfxRaster<depth,type>::drawPoint( x, y ); - QWSDisplay::ungrab(); - } -@@ -150,8 +149,8 @@ - void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPoints( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -160,9 +159,9 @@ - void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) { -+ if ( this->is_screen_gfx ) { - QRect r; -- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); -+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); - qvfb_screen->setDirty( r.normalize() ); - } - QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); -@@ -173,8 +172,8 @@ - void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::fillRect( x, y, w, h ); - QWSDisplay::ungrab(); - } -@@ -183,8 +182,8 @@ - void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolyline( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -193,8 +192,8 @@ - void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); - QWSDisplay::ungrab(); - } -@@ -203,8 +202,8 @@ - void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -215,8 +214,8 @@ - QWSDisplay::grab( TRUE ); - int dy = sy - y; - int dx = sx - x; -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, - w+abs(dx), h+abs(dy)) ); - QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); -@@ -227,8 +226,8 @@ - void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -238,8 +237,8 @@ - void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); - QWSDisplay::ungrab(); - } -diff -ur qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp qt-2.3.7/src/kernel/qgfxvnc_qws.cpp ---- qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxvnc_qws.cpp 2004-09-10 21:10:54.000000000 +0200 -@@ -971,7 +971,7 @@ - void QGfxVNC<depth,type>::drawPoint( int x, int y ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) & this->clipbounds ); - QGfxRaster<depth,type>::drawPoint( x, y ); - QWSDisplay::ungrab(); - } -@@ -981,8 +981,8 @@ - { - QWSDisplay::grab( TRUE ); - QRect r = pa.boundingRect(); -- r.moveBy( xoffs, yoffs ); -- qvnc_screen->setDirty( r & clipbounds ); -+ r.moveBy( this->xoffs, this->yoffs ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawPoints( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -992,9 +992,9 @@ - { - QWSDisplay::grab( TRUE ); - QRect r; -- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); -+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); - r = r.normalize(); -- qvnc_screen->setDirty( r & clipbounds ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); - QWSDisplay::ungrab(); - } -@@ -1003,7 +1003,7 @@ - void QGfxVNC<depth,type>::fillRect( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds ); - QGfxRaster<depth,type>::fillRect( x, y, w, h ); - QWSDisplay::ungrab(); - } -@@ -1013,8 +1013,8 @@ - { - QWSDisplay::grab( TRUE ); - QRect r = pa.boundingRect(); -- r.moveBy( xoffs, yoffs ); -- qvnc_screen->setDirty( r & clipbounds ); -+ r.moveBy( this->xoffs, this->yoffs ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawPolyline( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -1024,8 +1024,8 @@ - { - QWSDisplay::grab( TRUE ); - QRect r = pa.boundingRect(); -- r.moveBy( xoffs, yoffs ); -- qvnc_screen->setDirty( r & clipbounds ); -+ r.moveBy( this->xoffs, this->yoffs ); -+ qvnc_screen->setDirty( r & this->clipbounds ); - QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); - QWSDisplay::ungrab(); - } -@@ -1034,7 +1034,7 @@ - void QGfxVNC<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) & this->clipbounds ); - QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -1045,8 +1045,8 @@ - QWSDisplay::grab( TRUE ); - int dy = sy - y; - int dx = sx - x; -- qvnc_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, -- w+abs(dx), h+abs(dy)) & clipbounds ); -+ qvnc_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, -+ w+abs(dx), h+abs(dy)) & this->clipbounds ); - QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -1056,7 +1056,7 @@ - void QGfxVNC<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) & clipbounds ); -+ qvnc_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds ); - QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -1066,7 +1066,7 @@ - void QGfxVNC<depth,type>::tiledBlt( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- qvnc_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) & clipbounds ); -+ qvnc_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) & this->clipbounds ); - QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); - QWSDisplay::ungrab(); - } -diff -ur qt-2.3.7_old/src/tools/qcstring.h qt-2.3.7/src/tools/qcstring.h ---- qt-2.3.7_old/src/tools/qcstring.h 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/tools/qcstring.h 2004-09-10 21:08:42.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.7_old/src/tools/qglobal.h qt-2.3.7/src/tools/qglobal.h ---- qt-2.3.7_old/src/tools/qglobal.h 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/tools/qglobal.h 2004-09-10 21:08:42.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -diff -ur qt-2.3.7_old/src/tools/qsortedlist.h qt-2.3.7/src/tools/qsortedlist.h ---- qt-2.3.7_old/src/tools/qsortedlist.h 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/tools/qsortedlist.h 2004-09-10 21:08:42.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.7_old/src/tools/qstring.h qt-2.3.7/src/tools/qstring.h ---- qt-2.3.7_old/src/tools/qstring.h 2004-09-10 21:08:04.000000000 +0200 -+++ qt-2.3.7/src/tools/qstring.h 2004-09-10 21:08:42.000000000 +0200 -@@ -163,8 +163,16 @@ - bool isLetterOrNumber() const; - bool isDigit() const; - -+ -+#ifdef Q_NO_PACKED_REFERENCE -+ uchar& cell() { return *(&cl); } -+ uchar& row() { return *(&rw); } -+#else - uchar& cell() { return cl; } -- uchar& row() { return rw; } -+ uchar& row() { return rw; } -+#endif -+ -+ - uchar cell() const { return cl; } - uchar row() const { return rw; } - -diff -ur qt-2.3.7_old/src/kernel/qwsdecoration_qws.h qt-2.3.7/src/kernel/qwsdecoration_qws.h ---- qt-2.3.7_old/src/kernel/qwsdecoration_qws.h 2003-07-17 03:20:26.000000000 +0200 -+++ qt-2.3.7/src/kernel/qwsdecoration_qws.h 2004-09-13 15:44:13.000000000 +0200 -@@ -50,7 +50,7 @@ - enum Region { None=0, All=1, Title=2, Top=3, Bottom=4, Left=5, Right=6, - TopLeft=7, TopRight=8, BottomLeft=9, BottomRight=10, - Close=11, Minimize=12, Maximize=13, Normalize=14, -- Menu=15, LastRegion=Menu }; -+ Menu=15, LastRegion=Menu, UserDefined = 100 }; - - virtual QRegion region(const QWidget *, const QRect &rect, Region r=All) = 0; - 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 @@ -Not included in the ALL patch - - ---- qt-2.3.7-old/src/kernel/qgfxraster_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qgfxraster_qws.cpp 2004-07-23 15:29:16.000000000 +0200 -@@ -4237,7 +4237,7 @@ - setAlphaType(IgnoreAlpha); - if ( w <= 0 || h <= 0 || !ncliprect ) return; - GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) --#ifdef QWS_EXPERIMENTAL_FASTPATH -+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! - // ### fix for 8bpp - // This seems to be reliable now, at least for 16bpp - 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 @@ -Free the Virtual Terminal and Keyboard on a segfault in all cases... - - ---- qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp 2004-07-23 15:33:47.000000000 +0200 -@@ -844,6 +844,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -936,6 +948,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; ---- qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp 2004-07-23 15:22:56.000000000 +0200 -+++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp 2004-07-23 15:33:46.000000000 +0200 -@@ -238,7 +238,7 @@ - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65 -- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66 -+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 - { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68 - { 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 @@ -Backport of the LeftHand patch from Qt2.3.8 - -Puts Scrollbar on the left for people using the right hand -to hold the devices - - - -diff -u qt-2.3.7_orig/src/widgets/qscrollview.cpp qt-2.3.7/src/widgets/qscrollview.cpp ---- qt-2.3.7_orig/src/widgets/qscrollview.cpp 2004-06-13 20:42:54.000000000 +0200 -+++ qt-2.3.7/src/widgets/qscrollview.cpp 2004-06-13 20:45:16.000000000 +0200 -@@ -526,15 +526,16 @@ - this, SLOT( doDragAutoScroll() ) ); - #endif - -- connect( &d->hbar, SIGNAL( valueChanged( int ) ), -- this, SLOT( hslide( int ) ) ); -- connect( &d->vbar, SIGNAL( valueChanged( int ) ), -- this, SLOT( vslide( int ) ) ); -+ connect( &d->hbar, SIGNAL( valueChanged(int) ), -+ this, SLOT( hslide(int) ) ); -+ connect( &d->vbar, SIGNAL( valueChanged(int) ), -+ this, SLOT( vslide(int) ) ); - d->viewport.installEventFilter( this ); - - setFrameStyle( QFrame::StyledPanel | QFrame::Sunken ); - setLineWidth( style().defaultFrameWidth() ); - setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) ); -+ - } - - -@@ -683,6 +684,11 @@ - h-tmarg-bmarg - (showh ? hsbExt : 0) ); - } - -+/* -+ The surrounding environment (or application, if there is no -+ environment, may set this. Requires Qt >= 2.3.8. -+*/ -+bool qt_left_hand_scrollbars = FALSE; - - /*! - Updates scrollbars - all possibilities considered. You should never -@@ -786,45 +792,50 @@ - - // Position the scrollbars, viewport, and corner widget. - int bottom; -+ int xoffset = ( qt_left_hand_scrollbars && ( showv || cornerWidget() ) ) ? vsbExt : 0; -+ int xpos = qt_left_hand_scrollbars ? 0 : w-vsbExt; -+ xpos = (style() == WindowsStyle) && qt_left_hand_scrollbars ? xpos + fw : xpos - fw; -+ int ypos = tmarg; -+ ypos = (style() == WindowsStyle) ? ypos +fw : 0; - if ( showh ) { - int right = ( showv || cornerWidget() ) ? w-vsbExt : w; - if ( style() == WindowsStyle ) -- setHBarGeometry(d->hbar, fw, h-hsbExt-fw, -+ setHBarGeometry(d->hbar, fw + xoffset , h-hsbExt-fw, - right-fw-fw, hsbExt ); - else -- setHBarGeometry(d->hbar, 0, h-hsbExt, right, -+ setHBarGeometry(d->hbar, 0+ xoffset, h-hsbExt, right, - hsbExt ); - bottom=h-hsbExt; - } else { - bottom=h; - } - if ( showv ) { -- clipper()->setGeometry( lmarg, tmarg, -+ clipper()->setGeometry( lmarg + xoffset, tmarg, - w-vsbExt-lmarg-rmarg, - bottom-tmarg-bmarg ); - d->viewportResized( w-vsbExt-lmarg-rmarg, bottom-tmarg-bmarg ); - if ( style() == WindowsStyle ) -- changeFrameRect(QRect(0, 0, w, h) ); -+ changeFrameRect(QRect(xoffset, 0, w, h) ); - else -- changeFrameRect(QRect(0, 0, w-vsbExt, bottom)); -+ changeFrameRect(QRect(xoffset, 0, w-vsbExt, bottom)); - if (cornerWidget()) { - if ( style() == WindowsStyle ) -- setVBarGeometry( d->vbar, w-vsbExt-fw, -- fw, vsbExt, -- h-hsbExt-fw-fw ); -+ setVBarGeometry( d->vbar, xpos, -+ ypos, vsbExt, -+ bottom-fw-ypos ); - else -- setVBarGeometry( d->vbar, w-vsbExt, 0, -+ setVBarGeometry( d->vbar, xpos, ypos, - vsbExt, -- h-hsbExt ); -+ bottom-ypos ); - } - else { - if ( style() == WindowsStyle ) -- setVBarGeometry( d->vbar, w-vsbExt-fw, -- fw, vsbExt, -- bottom-fw-fw ); -+ setVBarGeometry( d->vbar, xpos, -+ ypos, vsbExt, -+ bottom-fw-ypos ); - else -- setVBarGeometry( d->vbar, w-vsbExt, 0, -- vsbExt, bottom ); -+ setVBarGeometry( d->vbar, xpos, ypos, -+ vsbExt, bottom-ypos ); - } - } else { - if ( style() == WindowsStyle ) -@@ -837,12 +848,12 @@ - } - if ( d->corner ) { - if ( style() == WindowsStyle ) -- d->corner->setGeometry( w-vsbExt-fw, -+ d->corner->setGeometry( xpos, - h-hsbExt-fw, - vsbExt, - hsbExt ); - else -- d->corner->setGeometry( w-vsbExt, -+ d->corner->setGeometry( xpos, - h-hsbExt, - vsbExt, - hsbExt ); -@@ -1675,7 +1686,7 @@ - } - - /*! -- Scrolls the content by \a x to the left and \a y upwards. -+ Scrolls the content by \a dx to the left and \a dy upwards. - */ - void QScrollView::scrollBy( int dx, int dy ) - { 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 @@ -Qt was not created for 240x320 and we adjust some default values to be more -sane for the usage on handhelds - - -diff -ur qt-2.3.8-old/src/widgets/qcommonstyle.cpp qt-2.3.8/src/widgets/qcommonstyle.cpp ---- qt-2.3.8-old/src/widgets/qcommonstyle.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qcommonstyle.cpp 2004-07-23 16:15:16.000000000 +0200 -@@ -566,7 +566,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); -diff -ur qt-2.3.8-old/src/widgets/qlistview.cpp qt-2.3.8/src/widgets/qlistview.cpp ---- qt-2.3.8-old/src/widgets/qlistview.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qlistview.cpp 2004-07-23 16:15:16.000000000 +0200 -@@ -5054,9 +5054,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); -Nur in qt-2.3.8/src/widgets/: qlistview.cpp.orig. -diff -ur qt-2.3.8-old/src/widgets/qtoolbutton.cpp qt-2.3.8/src/widgets/qtoolbutton.cpp ---- qt-2.3.8-old/src/widgets/qtoolbutton.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qtoolbutton.cpp 2004-07-23 16:15:16.000000000 +0200 -@@ -232,7 +232,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -326,12 +326,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -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 @@ -diff -ur qt-2.3.8-old/include/qapplication.h qt-2.3.8/include/qapplication.h ---- qt-2.3.8-old/include/qapplication.h 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/include/qapplication.h 2004-07-23 19:08:46.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ur qt-2.3.8-old/include/qcstring.h qt-2.3.8/include/qcstring.h ---- qt-2.3.8-old/include/qcstring.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/include/qcstring.h 2004-07-23 19:09:55.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.8-old/include/qfontdatabase.h qt-2.3.8/include/qfontdatabase.h ---- qt-2.3.8-old/include/qfontdatabase.h 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/include/qfontdatabase.h 2004-07-23 19:08:46.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -ur qt-2.3.8-old/include/qglobal.h qt-2.3.8/include/qglobal.h ---- qt-2.3.8-old/include/qglobal.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/include/qglobal.h 2004-07-23 19:09:55.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -diff -ur qt-2.3.8-old/include/qiconview.h qt-2.3.8/include/qiconview.h ---- qt-2.3.8-old/include/qiconview.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/include/qiconview.h 2004-07-23 19:13:09.000000000 +0200 -@@ -444,6 +444,7 @@ - virtual void contentsDropEvent( QDropEvent *e ); - #endif - -+ void bufferedPaintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent *e ); - virtual void focusInEvent( QFocusEvent *e ); -diff -ur qt-2.3.8-old/include/qsortedlist.h qt-2.3.8/include/qsortedlist.h ---- qt-2.3.8-old/include/qsortedlist.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/include/qsortedlist.h 2004-07-23 19:09:55.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.8-old/include/qstring.h qt-2.3.8/include/qstring.h ---- qt-2.3.8-old/include/qstring.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/include/qstring.h 2004-07-23 19:09:55.000000000 +0200 -@@ -163,8 +163,16 @@ - bool isLetterOrNumber() const; - bool isDigit() const; - -+ -+#ifdef Q_NO_PACKED_REFERENCE -+ uchar& cell() { return *(&cl); } -+ uchar& row() { return *(&rw); } -+#else - uchar& cell() { return cl; } -- uchar& row() { return rw; } -+ uchar& row() { return rw; } -+#endif -+ -+ - uchar cell() const { return cl; } - uchar row() const { return rw; } - -diff -ur qt-2.3.8-old/src/iconview/qiconview.cpp qt-2.3.8/src/iconview/qiconview.cpp ---- qt-2.3.8-old/src/iconview/qiconview.cpp 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/iconview/qiconview.cpp 2004-07-23 19:13:09.000000000 +0200 -@@ -224,6 +224,7 @@ - QIconView::SelectionMode selectionMode; - QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; - QRect *rubber; -+ QPixmap *backBuffer; - QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, - *fullRedrawTimer; - int rastX, rastY, spacing; -@@ -2267,6 +2268,7 @@ - d->currentItem = 0; - d->highlightedItem = 0; - d->rubber = 0; -+ d->backBuffer = 0; - d->scrollTimer = 0; - d->startDragItem = 0; - d->tmpCurrentItem = 0; -@@ -2415,6 +2417,8 @@ - delete item; - item = tmp; - } -+ delete d->backBuffer; -+ d->backBuffer = 0; - delete d->fm; - d->fm = 0; - #ifndef QT_NO_TOOLTIP -@@ -2881,6 +2885,48 @@ - } - - /*! -+ This function grabs all paintevents that otherwise would have been -+ processed by the QScrollView::viewportPaintEvent(). Here we use a -+ doublebuffer to reduce 'on-paint' flickering on QIconView -+ (and of course its childs). -+ -+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() -+*/ -+ -+void QIconView::bufferedPaintEvent( QPaintEvent* pe ) -+{ -+ QWidget* vp = viewport(); -+ QRect r = pe->rect() & vp->rect(); -+ int ex = r.x() + contentsX(); -+ int ey = r.y() + contentsY(); -+ int ew = r.width(); -+ int eh = r.height(); -+ -+ if ( !d->backBuffer ) -+ d->backBuffer = new QPixmap(vp->size()); -+ if ( d->backBuffer->size() != vp->size() ) { -+ //Resize function (with hysteesis). Uses a good compromise between memory -+ //consumption and speed (number) of resizes. -+ float newWidth = (float)vp->width(); -+ float newHeight = (float)vp->height(); -+ if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) -+ { -+ newWidth *= 1.1892; -+ newHeight *= 1.1892; -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } -+ -+ QPainter p; -+ p.begin(d->backBuffer, vp); -+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); -+ p.end(); -+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); -+} -+ -+/*! -+ - \reimp - */ - -@@ -4937,7 +4983,7 @@ - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); - } -- viewportPaintEvent( (QPaintEvent*)e ); -+ bufferedPaintEvent ((QPaintEvent*)e ); - if ( d->dragging ) { - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); -@@ -5374,11 +5420,19 @@ - return; - - if ( item->d->container1 && d->firstContainer ) { -- item->d->container1->items.removeRef( item ); -+ //Special-case checking of the last item, since this may be -+ //called a few times for the same item. -+ if (item->d->container1->items.last() == item) -+ item->d->container1->items.removeLast(); -+ else -+ item->d->container1->items.removeRef( item ); - } - item->d->container1 = 0; - if ( item->d->container2 && d->firstContainer ) { -- item->d->container2->items.removeRef( item ); -+ if (item->d->container2->items.last() == item) -+ item->d->container2->items.removeLast(); -+ else -+ item->d->container2->items.removeRef( item ); - } - item->d->container2 = 0; - -Nur in qt-2.3.8/src/iconview: qiconview.cpp.orig. -Nur in qt-2.3.8/src/iconview: qiconview.cpp.rej. -diff -ur qt-2.3.8-old/src/iconview/qiconview.h qt-2.3.8/src/iconview/qiconview.h ---- qt-2.3.8-old/src/iconview/qiconview.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/iconview/qiconview.h 2004-07-23 19:13:09.000000000 +0200 -@@ -444,6 +444,7 @@ - virtual void contentsDropEvent( QDropEvent *e ); - #endif - -+ void bufferedPaintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent *e ); - virtual void focusInEvent( QFocusEvent *e ); -diff -ur qt-2.3.8-old/src/kernel/qapplication.cpp qt-2.3.8/src/kernel/qapplication.cpp ---- qt-2.3.8-old/src/kernel/qapplication.cpp 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/kernel/qapplication.cpp 2004-07-23 19:08:46.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -936,11 +938,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -961,6 +968,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1187,13 +1196,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1278,6 +1304,12 @@ - void QApplication::setFont( const QFont &font, bool informWidgets, - const char* className ) - { -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, -+ const char* className ) -+{ - bool all = FALSE; - if ( !className ) { - if ( !app_font ) { -Nur in qt-2.3.8/src/kernel: qapplication.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qapplication.h qt-2.3.8/src/kernel/qapplication.h ---- qt-2.3.8-old/src/kernel/qapplication.h 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qapplication.h 2004-07-23 19:08:46.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ur qt-2.3.8-old/src/kernel/qapplication_qws.cpp qt-2.3.8/src/kernel/qapplication_qws.cpp ---- qt-2.3.8-old/src/kernel/qapplication_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qapplication_qws.cpp 2004-07-23 19:08:46.000000000 +0200 -@@ -2896,6 +2896,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; -Nur in qt-2.3.8/src/kernel: qapplication_qws.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.cpp qt-2.3.8/src/kernel/qfontdatabase.cpp ---- qt-2.3.8-old/src/kernel/qfontdatabase.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qfontdatabase.cpp 2004-07-23 19:08:46.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2424,6 +2426,13 @@ - const QString &style, - const QString &charSet ) - { -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ - QString cs( charSet ); - if ( charSet.isEmpty() ) { - QStringList lst = charSets( family ); -diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.h qt-2.3.8/src/kernel/qfontdatabase.h ---- qt-2.3.8-old/src/kernel/qfontdatabase.h 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qfontdatabase.h 2004-07-23 19:08:46.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, -diff -ur qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp qt-2.3.8/src/kernel/qgfxraster_qws.cpp ---- qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qgfxraster_qws.cpp 2004-07-23 19:10:03.000000000 +0200 -@@ -4400,7 +4400,7 @@ - setAlphaType(IgnoreAlpha); - if ( w <= 0 || h <= 0 || !ncliprect ) return; - GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) --#ifdef QWS_EXPERIMENTAL_FASTPATH -+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! - // ### fix for 8bpp - // This seems to be reliable now, at least for 16bpp - -Nur in qt-2.3.8/src/kernel: qgfxraster_qws.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qgfxtransformed_qws.cpp qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp ---- qt-2.3.8-old/src/kernel/qgfxtransformed_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp 2004-07-23 19:09:55.000000000 +0200 -@@ -671,11 +671,11 @@ - inline int tx( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return y - xoffs + yoffs; -+ return y - this->xoffs + this->yoffs; - case QTransformedScreen::Rot180: -- return (width - x - 1) - xoffs - xoffs; -+ return (this->width - x - 1) - this->xoffs - this->xoffs; - case QTransformedScreen::Rot270: -- return (height - y - 1) - xoffs - yoffs; -+ return (this->height - y - 1) - this->xoffs - this->yoffs; - default: - return x; - } -@@ -683,11 +683,11 @@ - inline int ty( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return (width - x - 1) - yoffs - xoffs; -+ return (this->width - x - 1) - this->yoffs - this->xoffs; - case QTransformedScreen::Rot180: -- return (height - y - 1) - yoffs - yoffs; -+ return (this->height - y - 1) - this->yoffs - this->yoffs; - case QTransformedScreen::Rot270: -- return x - yoffs + xoffs; -+ return x - this->yoffs + this->xoffs; - default: - return y; - } -@@ -715,23 +715,23 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) - { -- if ( srcbits == buffer ) { -+ if ( this->srcbits == this->buffer ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- srcwidgetoffs = QPoint( y, width - x - srcwidth ); -+ this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); - break; - case QTransformedScreen::Rot180: -- srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); -+ this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); - break; - case QTransformedScreen::Rot270: -- srcwidgetoffs = QPoint( height - y - srcheight, x ); -+ this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); - break; - default: -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - break; - } - } else -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - } - - template <const int depth, const int type> -@@ -739,8 +739,8 @@ - { - QT_TRANS_GFX_BASE<depth,type>::setSource(i); - QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - } - - template <const int depth, const int type> -@@ -782,7 +782,7 @@ - if ( w == 0 || h == 0 ) - return; - QRect r( x, y, w, h ); -- if ( cbrush.style() == SolidPattern ) { -+ if ( this->cbrush.style() == Qt::SolidPattern ) { - r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) ); - r = r.normalize(); - } -@@ -797,7 +797,7 @@ - // solution. The brush offset logic is complicated enough, so we don't - // fastpath patternedbrush. - -- if ( inDraw || cpen.style()==NoPen || patternedbrush ) { -+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) { - //slowpath - QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num ); - } else { -@@ -819,29 +819,29 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width ) - { -- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) { -+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) { - //in the patternedbrush case, we let blt do the transformation - // so we leave inDraw false. -- QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); -+ QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); - } else { - inDraw = TRUE; - while (n--) { - if ( *width > 0 ) { -- int x=tx(point->x(),point->y())+xoffs; -- int y=ty(point->x(),point->y())+yoffs; -+ int x=tx(point->x(),point->y())+this->xoffs; -+ int y=ty(point->x(),point->y())+this->yoffs; - - switch( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- vline( x, y-(*width-1), y ); -+ this->vline( x, y-(*width-1), y ); - break; - case QTransformedScreen::Rot180: -- hline( x - (*width-1), x, y ); -+ this->hline( x - (*width-1), x, y ); - break; - case QTransformedScreen::Rot270: -- vline( x, y, y+*width-1 ); -+ this->vline( x, y, y+*width-1 ); - break; - default: -- hline( x, x+*width-1, y ); -+ this->hline( x, x+*width-1, y ); - break; - } - } -@@ -896,14 +896,14 @@ - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: - rsx = sy; -- rsy = srcwidth - sx - w; -+ rsy = this->srcwidth - sx - w; - break; - case QTransformedScreen::Rot180: -- rsx = srcwidth - sx - w; -- rsy = srcheight - sy - h; -+ rsx = this->srcwidth - sx - w; -+ rsy = this->srcheight - sy - h; - break; - case QTransformedScreen::Rot270: -- rsx = srcheight - sy - h; -+ rsx = this->srcheight - sy - h; - rsy = sx; - break; - default: -@@ -941,39 +941,39 @@ - r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) ); - r = r.normalize(); - -- QPoint oldBrushOffs = brushoffs; -+ QPoint oldBrushOffs = this->brushoffs; - int brx, bry; - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- brx = brushoffs.y(); -- bry = srcwidth - brushoffs.x() - w; -+ brx = this->brushoffs.y(); -+ bry = this->srcwidth - this->brushoffs.x() - w; - break; - case QTransformedScreen::Rot180: -- brx = srcwidth - brushoffs.x() - w; -- bry = srcheight - brushoffs.y() - h; -+ brx = this->srcwidth - this->brushoffs.x() - w; -+ bry = this->srcheight - this->brushoffs.y() - h; - break; - case QTransformedScreen::Rot270: -- brx = srcheight - brushoffs.y() - h; -- bry = brushoffs.x(); -+ brx = this->srcheight - this->brushoffs.y() - h; -+ bry = this->brushoffs.x(); - break; - default: -- brx = brushoffs.x(); -- bry = brushoffs.y(); -+ brx = this->brushoffs.x(); -+ bry = this->brushoffs.y(); - break; - } -- brushoffs = QPoint( brx, bry ); -+ this->brushoffs = QPoint( brx, bry ); - -- int oldsw = srcwidth; -- int oldsh = srcheight; -- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ int oldsw = this->srcwidth; -+ int oldsh = this->srcheight; -+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) ); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - - QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() ); - -- srcwidth = oldsw; -- srcheight = oldsh; -- brushoffs = oldBrushOffs; -+ this->srcwidth = oldsw; -+ this->srcheight = oldsh; -+ this->brushoffs = oldBrushOffs; - inDraw = FALSE; - } - -diff -ur qt-2.3.8-old/src/kernel/qgfxvfb_qws.cpp qt-2.3.8/src/kernel/qgfxvfb_qws.cpp ---- qt-2.3.8-old/src/kernel/qgfxvfb_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qgfxvfb_qws.cpp 2004-07-23 19:09:55.000000000 +0200 -@@ -31,7 +31,6 @@ - **********************************************************************/ - - #include "qgfxraster_qws.h" -- - #ifndef QT_NO_QWS_VFB - - #include <sys/ipc.h> -@@ -140,8 +139,8 @@ - void QGfxVFb<depth,type>::drawPoint( int x, int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) ); - QGfxRaster<depth,type>::drawPoint( x, y ); - QWSDisplay::ungrab(); - } -@@ -150,8 +149,8 @@ - void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPoints( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -160,9 +159,9 @@ - void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) { -+ if ( this->is_screen_gfx ) { - QRect r; -- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); -+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); - qvfb_screen->setDirty( r.normalize() ); - } - QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); -@@ -173,8 +172,8 @@ - void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::fillRect( x, y, w, h ); - QWSDisplay::ungrab(); - } -@@ -183,8 +182,8 @@ - void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolyline( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -193,8 +192,8 @@ - void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); - QWSDisplay::ungrab(); - } -@@ -203,8 +202,8 @@ - void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -215,8 +214,8 @@ - QWSDisplay::grab( TRUE ); - int dy = sy - y; - int dx = sx - x; -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, - w+abs(dx), h+abs(dy)) ); - QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); -@@ -227,8 +226,8 @@ - void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -238,8 +237,8 @@ - void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); - QWSDisplay::ungrab(); - } -diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp ---- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp 2004-07-23 19:15:51.000000000 +0200 -@@ -314,7 +314,7 @@ - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65 -- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66 -+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 - { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69 -Nur in qt-2.3.8/src/kernel: qkeyboard_qws.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp ---- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp 2004-07-23 19:15:51.000000000 +0200 -@@ -1273,6 +1273,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -1365,6 +1377,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; -Nur in qt-2.3.8/src/kernel: qwindowsystem_qws.cpp.orig. -diff -ur qt-2.3.8-old/src/tools/qcstring.h qt-2.3.8/src/tools/qcstring.h ---- qt-2.3.8-old/src/tools/qcstring.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/tools/qcstring.h 2004-07-23 19:09:55.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.8-old/src/tools/qglobal.h qt-2.3.8/src/tools/qglobal.h ---- qt-2.3.8-old/src/tools/qglobal.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/tools/qglobal.h 2004-07-23 19:09:55.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -diff -ur qt-2.3.8-old/src/tools/qsortedlist.h qt-2.3.8/src/tools/qsortedlist.h ---- qt-2.3.8-old/src/tools/qsortedlist.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/tools/qsortedlist.h 2004-07-23 19:09:55.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.8-old/src/tools/qstring.cpp qt-2.3.8/src/tools/qstring.cpp ---- qt-2.3.8-old/src/tools/qstring.cpp 2004-07-23 14:34:57.000000000 +0200 -+++ qt-2.3.8/src/tools/qstring.cpp 2004-07-23 19:09:49.000000000 +0200 -@@ -14469,7 +14469,11 @@ - return qt_winQString2MB( *this ); - #endif - #ifdef _WS_QWS_ -- return utf8(); // ##### if there is ANY 8 bit format supported? -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ return codec -+ ? codec->fromUnicode(*this) -+ : utf8(); -+ //return latin1(); // ##### if there is ANY 8 bit format supported? - #endif - #endif - } -@@ -14515,7 +14519,12 @@ - return qt_winMB2QString( local8Bit ); - #endif - #ifdef _WS_QWS_ -- return fromUtf8(local8Bit,len); -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ if( len < 0) len = qstrlen(local8Bit); -+ return codec -+ ? codec->toUnicode(local8Bit, len) -+ : QString::fromUtf8(local8Bit,len); -+// return fromLatin1(local8Bit,len); - #endif - #endif // QT_NO_TEXTCODEC - } -diff -ur qt-2.3.8-old/src/tools/qstring.h qt-2.3.8/src/tools/qstring.h ---- qt-2.3.8-old/src/tools/qstring.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/tools/qstring.h 2004-07-23 19:09:55.000000000 +0200 -@@ -163,8 +163,16 @@ - bool isLetterOrNumber() const; - bool isDigit() const; - -+ -+#ifdef Q_NO_PACKED_REFERENCE -+ uchar& cell() { return *(&cl); } -+ uchar& row() { return *(&rw); } -+#else - uchar& cell() { return cl; } -- uchar& row() { return rw; } -+ uchar& row() { return rw; } -+#endif -+ -+ - uchar cell() const { return cl; } - uchar row() const { return rw; } - -diff -ur qt-2.3.8-old/src/widgets/qcommonstyle.cpp qt-2.3.8/src/widgets/qcommonstyle.cpp ---- qt-2.3.8-old/src/widgets/qcommonstyle.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qcommonstyle.cpp 2004-07-23 16:15:16.000000000 +0200 -@@ -566,7 +566,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); -diff -ur qt-2.3.8-old/src/widgets/qlistview.cpp qt-2.3.8/src/widgets/qlistview.cpp ---- qt-2.3.8-old/src/widgets/qlistview.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qlistview.cpp 2004-07-23 16:15:16.000000000 +0200 -@@ -5054,9 +5054,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); -Nur in qt-2.3.8/src/widgets: qlistview.cpp.orig. -diff -ur qt-2.3.8-old/src/widgets/qscrollview.cpp qt-2.3.8/src/widgets/qscrollview.cpp ---- qt-2.3.8-old/src/widgets/qscrollview.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qscrollview.cpp 2004-07-23 19:21:06.000000000 +0200 -@@ -1280,6 +1280,9 @@ - case QEvent::LayoutHint: - d->autoResizeHint(this); - break; -+ case QEvent::WindowActivate: -+ case QEvent::WindowDeactivate: -+ return TRUE; - default: - break; - } -diff -ur qt-2.3.8-old/src/widgets/qtoolbutton.cpp qt-2.3.8/src/widgets/qtoolbutton.cpp ---- qt-2.3.8-old/src/widgets/qtoolbutton.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qtoolbutton.cpp 2004-07-23 16:15:16.000000000 +0200 -@@ -232,7 +232,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -326,12 +326,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -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 @@ -Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used -to be multiplied with 10, some apps get confused by that and -in Opie we allow to work around for specefic application - -Courtsey to Robert 'sandman' Griebl - - - - - - - - -diff -ur qt-2.3.8-old/src/kernel/qapplication.cpp qt-2.3.8/src/kernel/qapplication.cpp ---- qt-2.3.8-old/src/kernel/qapplication.cpp 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/kernel/qapplication.cpp 2004-07-23 19:08:46.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -936,11 +938,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -961,6 +968,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1187,13 +1196,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1278,6 +1304,12 @@ - void QApplication::setFont( const QFont &font, bool informWidgets, - const char* className ) - { -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, -+ const char* className ) -+{ - bool all = FALSE; - if ( !className ) { - if ( !app_font ) { -Nur in qt-2.3.8/src/kernel/: qapplication.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qapplication.h qt-2.3.8/src/kernel/qapplication.h ---- qt-2.3.8-old/src/kernel/qapplication.h 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qapplication.h 2004-07-23 19:08:46.000000000 +0200 -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - -diff -ur qt-2.3.8-old/src/kernel/qapplication_qws.cpp qt-2.3.8/src/kernel/qapplication_qws.cpp ---- qt-2.3.8-old/src/kernel/qapplication_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qapplication_qws.cpp 2004-07-23 19:08:46.000000000 +0200 -@@ -2896,6 +2896,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; -Nur in qt-2.3.8/src/kernel/: qapplication_qws.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.cpp qt-2.3.8/src/kernel/qfontdatabase.cpp ---- qt-2.3.8-old/src/kernel/qfontdatabase.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qfontdatabase.cpp 2004-07-23 19:08:46.000000000 +0200 -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2424,6 +2426,13 @@ - const QString &style, - const QString &charSet ) - { -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ - QString cs( charSet ); - if ( charSet.isEmpty() ) { - QStringList lst = charSets( family ); -diff -ur qt-2.3.8-old/src/kernel/qfontdatabase.h qt-2.3.8/src/kernel/qfontdatabase.h ---- qt-2.3.8-old/src/kernel/qfontdatabase.h 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qfontdatabase.h 2004-07-23 19:08:46.000000000 +0200 -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - 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 @@ -German umlaute quite likely french, italian, spanish did -not work due QFile::[decode,encode]Name did call QString -local8Bit,fromLocal8Bit which plainly tried to use utf8 -encoding even if not useful. So a filename got changed -and QFileInfo recognized the file not beeing present anymore... -which lead to files not be shown. -Also with Year-Names problem exists as the base system sent -it encoded upstream. - -If you want to have UTF-8 encoding use LC_CTYPE as always and -QTextCodec::codecForLocale will use the right UTF-8 encoding. - -As fallback the old behaviour was preserved - - - - - - - ---- qt-2.3.8-old/src/tools/qstring.cpp 2004-07-23 14:33:02.000000000 +0200 -+++ qt-2.3.8/src/tools/qstring.cpp 2004-07-23 14:32:31.000000000 +0200 -@@ -14469,7 +14469,11 @@ - return qt_winQString2MB( *this ); - #endif - #ifdef _WS_QWS_ -- return utf8(); // ##### if there is ANY 8 bit format supported? -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ return codec -+ ? codec->fromUnicode(*this) -+ : utf8(); -+ //return latin1(); // ##### if there is ANY 8 bit format supported? - #endif - #endif - } -@@ -14515,7 +14519,12 @@ - return qt_winMB2QString( local8Bit ); - #endif - #ifdef _WS_QWS_ -- return fromUtf8(local8Bit,len); -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ if( len < 0) len = qstrlen(local8Bit); -+ return codec -+ ? codec->toUnicode(local8Bit, len) -+ : QString::fromUtf8(local8Bit,len); -+// return fromLatin1(local8Bit,len); - #endif - #endif // QT_NO_TEXTCODEC - } 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 @@ -diff -ur qt-2.3.8_clean/include/qcstring.h qt-2.3.8/include/qcstring.h ---- qt-2.3.8_clean/include/qcstring.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/include/qcstring.h 2004-06-04 02:24:25.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.8_clean/include/qglobal.h qt-2.3.8/include/qglobal.h ---- qt-2.3.8_clean/include/qglobal.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/include/qglobal.h 2004-06-04 02:29:41.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -diff -ur qt-2.3.8_clean/include/qsortedlist.h qt-2.3.8/include/qsortedlist.h ---- qt-2.3.8_clean/include/qsortedlist.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/include/qsortedlist.h 2004-06-04 02:24:25.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.8_clean/src/kernel/qgfxtransformed_qws.cpp qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp ---- qt-2.3.8_clean/src/kernel/qgfxtransformed_qws.cpp 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/src/kernel/qgfxtransformed_qws.cpp 2004-06-04 02:24:25.000000000 +0200 -@@ -671,11 +671,11 @@ - inline int tx( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return y - xoffs + yoffs; -+ return y - this->xoffs + this->yoffs; - case QTransformedScreen::Rot180: -- return (width - x - 1) - xoffs - xoffs; -+ return (this->width - x - 1) - this->xoffs - this->xoffs; - case QTransformedScreen::Rot270: -- return (height - y - 1) - xoffs - yoffs; -+ return (this->height - y - 1) - this->xoffs - this->yoffs; - default: - return x; - } -@@ -683,11 +683,11 @@ - inline int ty( int x, int y ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- return (width - x - 1) - yoffs - xoffs; -+ return (this->width - x - 1) - this->yoffs - this->xoffs; - case QTransformedScreen::Rot180: -- return (height - y - 1) - yoffs - yoffs; -+ return (this->height - y - 1) - this->yoffs - this->yoffs; - case QTransformedScreen::Rot270: -- return x - yoffs + xoffs; -+ return x - this->yoffs + this->xoffs; - default: - return y; - } -@@ -715,23 +715,23 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::setSourceWidgetOffset(int x, int y) - { -- if ( srcbits == buffer ) { -+ if ( this->srcbits == this->buffer ) { - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- srcwidgetoffs = QPoint( y, width - x - srcwidth ); -+ this->srcwidgetoffs = QPoint( y, this->width - x - this->srcwidth ); - break; - case QTransformedScreen::Rot180: -- srcwidgetoffs = QPoint( width - x - srcwidth, height - y - srcheight ); -+ this->srcwidgetoffs = QPoint( this->width - x - this->srcwidth, this->height - y - this->srcheight ); - break; - case QTransformedScreen::Rot270: -- srcwidgetoffs = QPoint( height - y - srcheight, x ); -+ this->srcwidgetoffs = QPoint( this->height - y - this->srcheight, x ); - break; - default: -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - break; - } - } else -- srcwidgetoffs = QPoint( x, y ); -+ this->srcwidgetoffs = QPoint( x, y ); - } - - template <const int depth, const int type> -@@ -739,8 +739,8 @@ - { - QT_TRANS_GFX_BASE<depth,type>::setSource(i); - QSize s = qt_screen->mapToDevice( QSize(i->width(), i->height()) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - } - - template <const int depth, const int type> -@@ -782,7 +782,7 @@ - if ( w == 0 || h == 0 ) - return; - QRect r( x, y, w, h ); -- if ( cbrush.style() == SolidPattern ) { -+ if ( this->cbrush.style() == Qt::SolidPattern ) { - r.setCoords( tx(x,y), ty(x,y), tx(x+w-1,y+h-1), ty(x+w-1,y+h-1) ); - r = r.normalize(); - } -@@ -797,7 +797,7 @@ - // solution. The brush offset logic is complicated enough, so we don't - // fastpath patternedbrush. - -- if ( inDraw || cpen.style()==NoPen || patternedbrush ) { -+ if ( inDraw || this->cpen.style()==Qt::NoPen || this->patternedbrush ) { - //slowpath - QT_TRANS_GFX_BASE<depth,type>::drawPolygon( a, w, idx, num ); - } else { -@@ -819,29 +819,29 @@ - template <const int depth, const int type> - void QGfxTransformedRaster<depth,type>::processSpans( int n, QPoint* point, int* width ) - { -- if ( inDraw || patternedbrush && srcwidth != 0 && srcheight != 0 ) { -+ if ( inDraw || this->patternedbrush && this->srcwidth != 0 && this->srcheight != 0 ) { - //in the patternedbrush case, we let blt do the transformation - // so we leave inDraw false. -- QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); -+ QT_TRANS_GFX_BASE<depth,type>::processSpans( n, point, width ); - } else { - inDraw = TRUE; - while (n--) { - if ( *width > 0 ) { -- int x=tx(point->x(),point->y())+xoffs; -- int y=ty(point->x(),point->y())+yoffs; -+ int x=tx(point->x(),point->y())+this->xoffs; -+ int y=ty(point->x(),point->y())+this->yoffs; - - switch( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- vline( x, y-(*width-1), y ); -+ this->vline( x, y-(*width-1), y ); - break; - case QTransformedScreen::Rot180: -- hline( x - (*width-1), x, y ); -+ this->hline( x - (*width-1), x, y ); - break; - case QTransformedScreen::Rot270: -- vline( x, y, y+*width-1 ); -+ this->vline( x, y, y+*width-1 ); - break; - default: -- hline( x, x+*width-1, y ); -+ this->hline( x, x+*width-1, y ); - break; - } - } -@@ -896,14 +896,14 @@ - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: - rsx = sy; -- rsy = srcwidth - sx - w; -+ rsy = this->srcwidth - sx - w; - break; - case QTransformedScreen::Rot180: -- rsx = srcwidth - sx - w; -- rsy = srcheight - sy - h; -+ rsx = this->srcwidth - sx - w; -+ rsy = this->srcheight - sy - h; - break; - case QTransformedScreen::Rot270: -- rsx = srcheight - sy - h; -+ rsx = this->srcheight - sy - h; - rsy = sx; - break; - default: -@@ -941,39 +941,39 @@ - r.setCoords( tx(rx,ry), ty(rx,ry), tx(rx+w-1,ry+h-1), ty(rx+w-1,ry+h-1) ); - r = r.normalize(); - -- QPoint oldBrushOffs = brushoffs; -+ QPoint oldBrushOffs = this->brushoffs; - int brx, bry; - switch ( qt_trans_screen->transformation() ) { - case QTransformedScreen::Rot90: -- brx = brushoffs.y(); -- bry = srcwidth - brushoffs.x() - w; -+ brx = this->brushoffs.y(); -+ bry = this->srcwidth - this->brushoffs.x() - w; - break; - case QTransformedScreen::Rot180: -- brx = srcwidth - brushoffs.x() - w; -- bry = srcheight - brushoffs.y() - h; -+ brx = this->srcwidth - this->brushoffs.x() - w; -+ bry = this->srcheight - this->brushoffs.y() - h; - break; - case QTransformedScreen::Rot270: -- brx = srcheight - brushoffs.y() - h; -- bry = brushoffs.x(); -+ brx = this->srcheight - this->brushoffs.y() - h; -+ bry = this->brushoffs.x(); - break; - default: -- brx = brushoffs.x(); -- bry = brushoffs.y(); -+ brx = this->brushoffs.x(); -+ bry = this->brushoffs.y(); - break; - } -- brushoffs = QPoint( brx, bry ); -+ this->brushoffs = QPoint( brx, bry ); - -- int oldsw = srcwidth; -- int oldsh = srcheight; -- QSize s = qt_screen->mapToDevice( QSize(srcwidth,srcheight) ); -- srcwidth = s.width(); -- srcheight = s.height(); -+ int oldsw = this->srcwidth; -+ int oldsh = this->srcheight; -+ QSize s = qt_screen->mapToDevice( QSize(this->srcwidth,this->srcheight) ); -+ this->srcwidth = s.width(); -+ this->srcheight = s.height(); - - QT_TRANS_GFX_BASE<depth,type>::tiledBlt( r.x(), r.y(), r.width(), r.height() ); - -- srcwidth = oldsw; -- srcheight = oldsh; -- brushoffs = oldBrushOffs; -+ this->srcwidth = oldsw; -+ this->srcheight = oldsh; -+ this->brushoffs = oldBrushOffs; - inDraw = FALSE; - } - -diff -ur qt-2.3.8_clean/src/kernel/qgfxvfb_qws.cpp qt-2.3.8/src/kernel/qgfxvfb_qws.cpp ---- qt-2.3.8_clean/src/kernel/qgfxvfb_qws.cpp 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/src/kernel/qgfxvfb_qws.cpp 2004-06-04 02:24:25.000000000 +0200 -@@ -31,7 +31,6 @@ - **********************************************************************/ - - #include "qgfxraster_qws.h" -- - #ifndef QT_NO_QWS_VFB - - #include <sys/ipc.h> -@@ -140,8 +139,8 @@ - void QGfxVFb<depth,type>::drawPoint( int x, int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, 1, 1 ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, 1, 1 ) ); - QGfxRaster<depth,type>::drawPoint( x, y ); - QWSDisplay::ungrab(); - } -@@ -150,8 +149,8 @@ - void QGfxVFb<depth,type>::drawPoints( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPoints( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -160,9 +159,9 @@ - void QGfxVFb<depth,type>::drawLine( int x1,int y1,int x2,int y2 ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) { -+ if ( this->is_screen_gfx ) { - QRect r; -- r.setCoords( x1+xoffs, y1+yoffs, x2+xoffs, y2+yoffs ); -+ r.setCoords( x1+this->xoffs, y1+this->yoffs, x2+this->xoffs, y2+this->yoffs ); - qvfb_screen->setDirty( r.normalize() ); - } - QGfxRaster<depth,type>::drawLine( x1, y1, x2, y2 ); -@@ -173,8 +172,8 @@ - void QGfxVFb<depth,type>::fillRect( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::fillRect( x, y, w, h ); - QWSDisplay::ungrab(); - } -@@ -183,8 +182,8 @@ - void QGfxVFb<depth,type>::drawPolyline( const QPointArray &pa,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolyline( pa, x, y ); - QWSDisplay::ungrab(); - } -@@ -193,8 +192,8 @@ - void QGfxVFb<depth,type>::drawPolygon( const QPointArray &pa,bool w,int x,int y ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( clipbounds ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( this->clipbounds ); - QGfxRaster<depth,type>::drawPolygon( pa, w, x, y ); - QWSDisplay::ungrab(); - } -@@ -203,8 +202,8 @@ - void QGfxVFb<depth,type>::blt( int x,int y,int w,int h, int sx, int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x+xoffs, y+yoffs, w, h ) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x+this->xoffs, y+this->yoffs, w, h ) ); - QGfxRaster<depth,type>::blt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -215,8 +214,8 @@ - QWSDisplay::grab( TRUE ); - int dy = sy - y; - int dx = sx - x; -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(QMIN(x,sx) + xoffs, QMIN(y,sy) + yoffs, -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(QMIN(x,sx) + this->xoffs, QMIN(y,sy) + this->yoffs, - w+abs(dx), h+abs(dy)) ); - QGfxRaster<depth,type>::scroll( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); -@@ -227,8 +226,8 @@ - void QGfxVFb<depth,type>::stretchBlt( int x,int y,int w,int h,int sx,int sy ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect( x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect( x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::stretchBlt( x, y, w, h, sx, sy ); - QWSDisplay::ungrab(); - } -@@ -238,8 +237,8 @@ - void QGfxVFb<depth,type>::tiledBlt( int x,int y,int w,int h ) - { - QWSDisplay::grab( TRUE ); -- if ( is_screen_gfx ) -- qvfb_screen->setDirty( QRect(x + xoffs, y + yoffs, w, h) ); -+ if ( this->is_screen_gfx ) -+ qvfb_screen->setDirty( QRect(x + this->xoffs, y + this->yoffs, w, h) ); - QGfxRaster<depth,type>::tiledBlt( x, y, w, h ); - QWSDisplay::ungrab(); - } -diff -ur qt-2.3.8_clean/src/tools/qcstring.h qt-2.3.8/src/tools/qcstring.h ---- qt-2.3.8_clean/src/tools/qcstring.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/src/tools/qcstring.h 2004-06-04 02:24:25.000000000 +0200 -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen -diff -ur qt-2.3.8_clean/src/tools/qglobal.h qt-2.3.8/src/tools/qglobal.h ---- qt-2.3.8_clean/src/tools/qglobal.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/src/tools/qglobal.h 2004-06-04 02:29:41.000000000 +0200 -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ -Nur in qt-2.3.8/src/tools: qglobal.h~. -diff -ur qt-2.3.8_clean/src/tools/qsortedlist.h qt-2.3.8/src/tools/qsortedlist.h ---- qt-2.3.8_clean/src/tools/qsortedlist.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/src/tools/qsortedlist.h 2004-06-04 02:24:25.000000000 +0200 -@@ -48,7 +48,7 @@ - public: - QSortedList() {} - QSortedList( const QSortedList<type> &l ) : QList<type>(l) {} -- ~QSortedList() { clear(); } -+ ~QSortedList() { this->clear(); } - QSortedList<type> &operator=(const QSortedList<type> &l) - { return (QSortedList<type>&)QList<type>::operator=(l); } - -diff -ur qt-2.3.8_clean/src/tools/qstring.h qt-2.3.8/src/tools/qstring.h ---- qt-2.3.8_clean/src/tools/qstring.h 2004-06-04 02:17:53.000000000 +0200 -+++ qt-2.3.8/src/tools/qstring.h 2004-06-04 02:54:16.000000000 +0200 -@@ -163,8 +163,16 @@ - bool isLetterOrNumber() const; - bool isDigit() const; - -+ -+#ifdef Q_NO_PACKED_REFERENCE -+ uchar& cell() { return *(&cl); } -+ uchar& row() { return *(&rw); } -+#else - uchar& cell() { return cl; } -- uchar& row() { return rw; } -+ uchar& row() { return rw; } -+#endif -+ -+ - uchar cell() const { return cl; } - uchar row() const { return rw; } - -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 @@ -Not included in the ALL patch - - - ---- qt-2.3.8-old/src/kernel/qgfxraster_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qgfxraster_qws.cpp 2004-07-23 19:10:03.000000000 +0200 -@@ -4400,7 +4400,7 @@ - setAlphaType(IgnoreAlpha); - if ( w <= 0 || h <= 0 || !ncliprect ) return; - GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) --#ifdef QWS_EXPERIMENTAL_FASTPATH -+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! - // ### fix for 8bpp - // This seems to be reliable now, at least for 16bpp - 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 @@ -Speed up patches backported from - -http://robotics.dei.unipd.it/~koral/KDE/kflicker.html - -and - -http://lists.kde.org/?l=kde-optimize&m=105382164111363&w=2 (complete thread) - - - - - - - -diff -ur qt-2.3.8-old/src/iconview/qiconview.cpp qt-2.3.8/src/iconview/qiconview.cpp ---- qt-2.3.8-old/src/iconview/qiconview.cpp 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/iconview/qiconview.cpp 2004-07-23 19:13:09.000000000 +0200 -@@ -224,6 +224,7 @@ - QIconView::SelectionMode selectionMode; - QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; - QRect *rubber; -+ QPixmap *backBuffer; - QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, - *fullRedrawTimer; - int rastX, rastY, spacing; -@@ -2267,6 +2268,7 @@ - d->currentItem = 0; - d->highlightedItem = 0; - d->rubber = 0; -+ d->backBuffer = 0; - d->scrollTimer = 0; - d->startDragItem = 0; - d->tmpCurrentItem = 0; -@@ -2415,6 +2417,8 @@ - delete item; - item = tmp; - } -+ delete d->backBuffer; -+ d->backBuffer = 0; - delete d->fm; - d->fm = 0; - #ifndef QT_NO_TOOLTIP -@@ -2881,6 +2885,48 @@ - } - - /*! -+ This function grabs all paintevents that otherwise would have been -+ processed by the QScrollView::viewportPaintEvent(). Here we use a -+ doublebuffer to reduce 'on-paint' flickering on QIconView -+ (and of course its childs). -+ -+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() -+*/ -+ -+void QIconView::bufferedPaintEvent( QPaintEvent* pe ) -+{ -+ QWidget* vp = viewport(); -+ QRect r = pe->rect() & vp->rect(); -+ int ex = r.x() + contentsX(); -+ int ey = r.y() + contentsY(); -+ int ew = r.width(); -+ int eh = r.height(); -+ -+ if ( !d->backBuffer ) -+ d->backBuffer = new QPixmap(vp->size()); -+ if ( d->backBuffer->size() != vp->size() ) { -+ //Resize function (with hysteesis). Uses a good compromise between memory -+ //consumption and speed (number) of resizes. -+ float newWidth = (float)vp->width(); -+ float newHeight = (float)vp->height(); -+ if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) -+ { -+ newWidth *= 1.1892; -+ newHeight *= 1.1892; -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } -+ -+ QPainter p; -+ p.begin(d->backBuffer, vp); -+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); -+ p.end(); -+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); -+} -+ -+/*! -+ - \reimp - */ - -@@ -4937,7 +4983,7 @@ - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); - } -- viewportPaintEvent( (QPaintEvent*)e ); -+ bufferedPaintEvent ((QPaintEvent*)e ); - if ( d->dragging ) { - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); -@@ -5374,11 +5420,19 @@ - return; - - if ( item->d->container1 && d->firstContainer ) { -- item->d->container1->items.removeRef( item ); -+ //Special-case checking of the last item, since this may be -+ //called a few times for the same item. -+ if (item->d->container1->items.last() == item) -+ item->d->container1->items.removeLast(); -+ else -+ item->d->container1->items.removeRef( item ); - } - item->d->container1 = 0; - if ( item->d->container2 && d->firstContainer ) { -- item->d->container2->items.removeRef( item ); -+ if (item->d->container2->items.last() == item) -+ item->d->container2->items.removeLast(); -+ else -+ item->d->container2->items.removeRef( item ); - } - item->d->container2 = 0; - -diff -ur qt-2.3.8-old/src/iconview/qiconview.h qt-2.3.8/src/iconview/qiconview.h ---- qt-2.3.8-old/src/iconview/qiconview.h 2004-07-22 01:07:46.000000000 +0200 -+++ qt-2.3.8/src/iconview/qiconview.h 2004-07-23 19:13:09.000000000 +0200 -@@ -444,6 +444,7 @@ - virtual void contentsDropEvent( QDropEvent *e ); - #endif - -+ void bufferedPaintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent *e ); - virtual void focusInEvent( QFocusEvent *e ); ---- qt-2.3.8-old/src/widgets/qscrollview.cpp 2004-07-22 01:07:44.000000000 +0200 -+++ qt-2.3.8/src/widgets/qscrollview.cpp 2004-07-23 19:21:06.000000000 +0200 -@@ -1280,6 +1280,9 @@ - case QEvent::LayoutHint: - d->autoResizeHint(this); - break; -+ case QEvent::WindowActivate: -+ case QEvent::WindowDeactivate: -+ return TRUE; - default: - break; - } 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 @@ -Free the Virtual Terminal and Keyboard on a segfault in all cases... - - -diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp ---- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp 2004-07-23 19:13:52.000000000 +0200 -@@ -314,7 +314,7 @@ - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65 -- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66 -+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 - { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69 -Nur in qt-2.3.8/src/kernel/: qkeyboard_qws.cpp.orig. -diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp ---- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp 2004-07-22 01:07:45.000000000 +0200 -+++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp 2004-07-23 19:13:52.000000000 +0200 -@@ -1273,6 +1273,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -1365,6 +1377,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; -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 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- qt-2.3.9-snapshot-20041102/src/iconview/qiconview.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/iconview/qiconview.cpp -@@ -225,6 +225,7 @@ - QIconView::SelectionMode selectionMode; - QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem, *startDragItem, *pressedItem, *selectAnchor; - QRect *rubber; -+ QPixmap *backBuffer; - QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer, - *fullRedrawTimer; - int rastX, rastY, spacing; -@@ -2268,6 +2269,7 @@ - d->currentItem = 0; - d->highlightedItem = 0; - d->rubber = 0; -+ d->backBuffer = 0; - d->scrollTimer = 0; - d->startDragItem = 0; - d->tmpCurrentItem = 0; -@@ -2416,6 +2418,8 @@ - delete item; - item = tmp; - } -+ delete d->backBuffer; -+ d->backBuffer = 0; - delete d->fm; - d->fm = 0; - #ifndef QT_NO_TOOLTIP -@@ -2882,6 +2886,48 @@ - } - - /*! -+ This function grabs all paintevents that otherwise would have been -+ processed by the QScrollView::viewportPaintEvent(). Here we use a -+ doublebuffer to reduce 'on-paint' flickering on QIconView -+ (and of course its childs). -+ -+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents() -+*/ -+ -+void QIconView::bufferedPaintEvent( QPaintEvent* pe ) -+{ -+ QWidget* vp = viewport(); -+ QRect r = pe->rect() & vp->rect(); -+ int ex = r.x() + contentsX(); -+ int ey = r.y() + contentsY(); -+ int ew = r.width(); -+ int eh = r.height(); -+ -+ if ( !d->backBuffer ) -+ d->backBuffer = new QPixmap(vp->size()); -+ if ( d->backBuffer->size() != vp->size() ) { -+ //Resize function (with hysteesis). Uses a good compromise between memory -+ //consumption and speed (number) of resizes. -+ float newWidth = (float)vp->width(); -+ float newHeight = (float)vp->height(); -+ if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() ) -+ { -+ newWidth *= 1.1892; -+ newHeight *= 1.1892; -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() ) -+ d->backBuffer->resize( (int)newWidth, (int)newHeight ); -+ } -+ -+ QPainter p; -+ p.begin(d->backBuffer, vp); -+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh); -+ p.end(); -+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh); -+} -+ -+/*! -+ - \reimp - */ - -@@ -4939,7 +4985,7 @@ - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); - } -- viewportPaintEvent( (QPaintEvent*)e ); -+ bufferedPaintEvent ((QPaintEvent*)e ); - if ( d->dragging ) { - if ( !d->rubber ) - drawDragShapes( d->oldDragPos ); -@@ -5377,11 +5423,19 @@ - return; - - if ( item->d->container1 && d->firstContainer ) { -- item->d->container1->items.removeRef( item ); -+ //Special-case checking of the last item, since this may be -+ //called a few times for the same item. -+ if (item->d->container1->items.last() == item) -+ item->d->container1->items.removeLast(); -+ else -+ item->d->container1->items.removeRef( item ); - } - item->d->container1 = 0; - if ( item->d->container2 && d->firstContainer ) { -- item->d->container2->items.removeRef( item ); -+ if (item->d->container2->items.last() == item) -+ item->d->container2->items.removeLast(); -+ else -+ item->d->container2->items.removeRef( item ); - } - item->d->container2 = 0; - ---- qt-2.3.9-snapshot-20041102/src/iconview/qiconview.h~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/iconview/qiconview.h -@@ -444,6 +444,7 @@ - virtual void contentsDropEvent( QDropEvent *e ); - #endif - -+ void bufferedPaintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* e ); - virtual void keyPressEvent( QKeyEvent *e ); - virtual void focusInEvent( QFocusEvent *e ); ---- qt-2.3.9-snapshot-20041102/src/kernel/qapplication.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication.cpp -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qobjectlist.h" - #include "qobjectdict.h" - #include "qapplication.h" -@@ -937,11 +939,16 @@ - #ifndef QT_NO_STYLE - void QApplication::setStyle( QStyle *style ) - { -+ setStyle_NonWeak ( style ); -+} -+ -+void QApplication::setStyle_NonWeak( QStyle *style ) -+{ - QStyle* old = app_style; -- app_style = style; - - if ( startingUp() ) { - delete old; -+ app_style = style; - return; - } - -@@ -962,6 +969,8 @@ - old->unPolish( qApp ); - } - -+ app_style = style; -+ - // take care of possible palette requirements of certain gui - // styles. Do it before polishing the application since the style - // might call QApplication::setStyle() itself -@@ -1188,13 +1197,30 @@ - \sa QWidget::setPalette(), palette(), QStyle::polish() - */ - --void QApplication::setPalette( const QPalette &palette, bool informWidgets, -+void QApplication::setPalette ( const QPalette &palette, bool informWidgets, -+ const char* className ) -+{ -+ setPalette_NonWeak ( palette, informWidgets, className ); -+} -+ -+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, - const char* className ) - { - QPalette pal = palette; - #ifndef QT_NO_STYLE -- if ( !startingUp() ) -+ if ( !startingUp() ) { - qApp->style().polish( pal ); // NB: non-const reference -+ if ( className ) { -+ // if we just polished a class specific palette (this normally -+ // only called by qt_fix_tooltips - see below), we better re- -+ // polish the global palette. Some styles like liquid can get -+ // confused, because they can not detect if the polished palette -+ // is the global one or only a class specific one. -+ // (liquid uses this palette to calculate blending pixmaps) -+ QPalette p = qApp-> palette ( ); -+ qApp->style().polish ( p ); -+ } -+ } - #endif - bool all = FALSE; - if ( !className ) { -@@ -1279,6 +1305,12 @@ - void QApplication::setFont( const QFont &font, bool informWidgets, - const char* className ) - { -+ setFont_NonWeak ( font, informWidgets, className ); -+} -+ -+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, -+ const char* className ) -+{ - bool all = FALSE; - if ( !className ) { - if ( !app_font ) { ---- qt-2.3.9-snapshot-20041102/src/kernel/qapplication.h~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication.h -@@ -61,6 +61,10 @@ - class QSemaphore; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - // REMOVE IN 3.0 (just here for moc source compatibility) - #define QNonBaseApplication QApplication - -@@ -85,7 +89,10 @@ - - #ifndef QT_NO_STYLE - static QStyle &style(); -- static void setStyle( QStyle* ); -+ static void setStyle( QStyle* ) QT_WEAK_SYMBOL; -+private: -+ static void setStyle_NonWeak( QStyle* ); -+public: - #endif - #if 1 /* OBSOLETE */ - enum ColorMode { NormalColors, CustomColors }; -@@ -106,11 +113,19 @@ - #ifndef QT_NO_PALETTE - static QPalette palette( const QWidget* = 0 ); - static void setPalette( const QPalette &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - #endif - static QFont font( const QWidget* = 0 ); - static void setFont( const QFont &, bool informWidgets=FALSE, -+ const char* className = 0 ) QT_WEAK_SYMBOL; -+private: -+ static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, - const char* className = 0 ); -+public: - static QFontMetrics fontMetrics(); - - QWidget *mainWidget() const; -@@ -207,7 +222,10 @@ - void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); - #ifndef QT_NO_QWS_MANAGER - static QWSDecoration &qwsDecoration(); -- static void qwsSetDecoration( QWSDecoration *); -+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; -+private: -+ static void qwsSetDecoration_NonWeak( QWSDecoration *); -+public: - #endif - #endif - ---- qt-2.3.9-snapshot-20041102/src/kernel/qapplication_qws.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qapplication_qws.cpp -@@ -2905,6 +2905,11 @@ - */ - void QApplication::qwsSetDecoration( QWSDecoration *d ) - { -+ qwsSetDecoration_NonWeak ( d ); -+} -+ -+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) -+{ - if ( d ) { - delete qws_decoration; - qws_decoration = d; ---- qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.cpp -@@ -35,6 +35,8 @@ - ** - **********************************************************************/ - -+#define QT_WEAK_SYMBOL __attribute__(( weak )) -+ - #include "qfontdatabase.h" - - #ifndef QT_NO_FONTDATABASE -@@ -2424,6 +2426,13 @@ - const QString &style, - const QString &charSet ) - { -+ return pointSizes_NonWeak ( family, style, charSet ); -+} -+ -+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, -+ const QString &style, -+ const QString &charSet ) -+{ - QString cs( charSet ); - if ( charSet.isEmpty() ) { - QStringList lst = charSets( family ); ---- qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.h~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qfontdatabase.h -@@ -59,6 +59,10 @@ - class QDiskFont; - #endif - -+#if !defined( QT_WEAK_SYMBOL ) -+#define QT_WEAK_SYMBOL -+#endif -+ - class QFontDatabasePrivate; - - class Q_EXPORT QFontDatabase -@@ -67,9 +71,16 @@ - QFontDatabase(); - - QStringList families( bool onlyForLocale = TRUE ) const; -+ -+ - QValueList<int> pointSizes( const QString &family, - const QString &style = QString::null, -- const QString &charSet = QString::null ); -+ const QString &charSet = QString::null ) QT_WEAK_SYMBOL; -+private: -+ QValueList<int> pointSizes_NonWeak( const QString &family, -+ const QString &style, -+ const QString &charSet ); -+public: - QStringList styles( const QString &family, - const QString &charSet = QString::null ) const; - QStringList charSets( const QString &familyName, ---- qt-2.3.9-snapshot-20041102/src/kernel/qgfxraster_qws.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qgfxraster_qws.cpp -@@ -4408,7 +4408,7 @@ - setAlphaType(IgnoreAlpha); - if ( w <= 0 || h <= 0 || !ncliprect ) return; - GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) --#ifdef QWS_EXPERIMENTAL_FASTPATH -+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! - // ### fix for 8bpp - // This seems to be reliable now, at least for 16bpp - ---- qt-2.3.9-snapshot-20041102/src/kernel/qkeyboard_qws.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qkeyboard_qws.cpp -@@ -314,7 +314,7 @@ - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65 -- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66 -+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66 - { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68 - { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69 ---- qt-2.3.9-snapshot-20041102/src/kernel/qwindowsystem_qws.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/kernel/qwindowsystem_qws.cpp -@@ -913,6 +913,18 @@ - { - } - -+static void catchSegvSignal( int ) -+{ -+#ifndef QT_NO_QWS_KEYBOARD -+ if ( qwsServer ) -+ qwsServer->closeKeyboard(); -+#endif -+ QWSServer::closedown(); -+ fprintf(stderr, "Segmentation fault.\n"); -+ exit(1); -+} -+ -+ - /*! - \class QWSServer qwindowsystem_qws.h - \brief Server-specific functionality in Qt/Embedded -@@ -1038,6 +1050,7 @@ - } - - signal(SIGPIPE, ignoreSignal); //we get it when we read -+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash - #endif - focusw = 0; - mouseGrabber = 0; ---- qt-2.3.9-snapshot-20041102/src/tools/qcstring.h~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/tools/qcstring.h -@@ -119,7 +119,7 @@ - // We want to keep source compatibility for 2.x - // ### TODO for 4.0: completely remove these and the cstr* functions - --#if !defined(QT_GENUINE_STR) -+#if 0 - - #undef strlen - #define strlen qstrlen ---- qt-2.3.9-snapshot-20041102/src/tools/qglobal.h~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/tools/qglobal.h -@@ -207,8 +207,16 @@ - #if __GNUC__ == 2 && __GNUC_MINOR__ == 96 - #define Q_FP_CCAST_BROKEN - #endif -+/* ARM gcc pads structs to 32 bits, even when they contain a single -+ char, or short. We tell gcc to pack QChars to 16 bits, to avoid -+ QString bloat. However, gcc 3.4 doesn't allow us to create references to -+ members of a packed struct. (Pointers are OK, because then you -+ supposedly know what you are doing.) */ - #if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) - #define Q_PACKED __attribute__ ((packed)) -+# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 -+# define Q_NO_PACKED_REFERENCE -+# endif - #endif - #elif defined(__xlC__) - #define _CC_XLC_ ---- qt-2.3.9-snapshot-20041102/src/tools/qstring.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/tools/qstring.cpp -@@ -14469,7 +14469,11 @@ - return qt_winQString2MB( *this ); - #endif - #ifdef _WS_QWS_ -- return utf8(); // ##### if there is ANY 8 bit format supported? -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ return codec -+ ? codec->fromUnicode(*this) -+ : utf8(); -+ //return latin1(); // ##### if there is ANY 8 bit format supported? - #endif - #endif - } -@@ -14515,7 +14519,12 @@ - return qt_winMB2QString( local8Bit ); - #endif - #ifdef _WS_QWS_ -- return fromUtf8(local8Bit,len); -+ QTextCodec* codec = QTextCodec::codecForLocale(); -+ if( len < 0) len = qstrlen(local8Bit); -+ return codec -+ ? codec->toUnicode(local8Bit, len) -+ : QString::fromUtf8(local8Bit,len); -+// return fromLatin1(local8Bit,len); - #endif - #endif // QT_NO_TEXTCODEC - } ---- qt-2.3.9-snapshot-20041102/src/widgets/qcommonstyle.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/widgets/qcommonstyle.cpp -@@ -572,7 +572,7 @@ - bool enabled, bool active ) - { - #ifndef QT_NO_MENUBAR --#ifndef QT_NO_STYLE_SGI -+#if 1 // #ifndef QT_NO_STYLE_SGI - if (draw_menu_bar_impl != 0) { - QDrawMenuBarItemImpl impl = draw_menu_bar_impl; - (this->*impl)(p, x, y, w, h, mi, g, enabled, active); ---- qt-2.3.9-snapshot-20041102/src/widgets/qlistview.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/widgets/qlistview.cpp -@@ -5051,9 +5051,9 @@ - l = l->childItem ? l->childItem : l->siblingItem; - - if ( l && l->height() ) -- s.setHeight( s.height() + 10 * l->height() ); -- else -- s.setHeight( s.height() + 140 ); -+ s.setHeight( s.height() + 4 /*10*/ * l->height() ); -+ else // ^v much too big for handhelds -+ s.setHeight( s.height() + 30 /*140*/ ); - - if ( s.width() > s.height() * 3 ) - s.setHeight( s.width() / 3 ); ---- qt-2.3.9-snapshot-20041102/src/widgets/qscrollview.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/widgets/qscrollview.cpp -@@ -1285,6 +1285,9 @@ - case QEvent::LayoutHint: - d->autoResizeHint(this); - break; -+ case QEvent::WindowActivate: -+ case QEvent::WindowDeactivate: -+ return TRUE; - default: - break; - } ---- qt-2.3.9-snapshot-20041102/src/widgets/qtoolbutton.cpp~qte239-all -+++ qt-2.3.9-snapshot-20041102/src/widgets/qtoolbutton.cpp -@@ -238,7 +238,7 @@ - else - QToolTip::add( this, textLabel ); - } --#endif -+#endif - } - - -@@ -332,12 +332,12 @@ - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); - w = pm.width(); - h = pm.height(); -- if ( w < 32 ) -- w = 32; -- if ( h < 32 ) -- h = 32; -+ if ( w < 24 ) -+ w = 24; -+ if ( h < 24 ) -+ h = 24; - } else { -- w = h = 16; -+ w = h = 14; - QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); - w = pm.width(); - 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 @@ -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- qt-2.3.9-snapshot-20041211/src/kernel/qwsmouse_qws.cpp~tslib.patch -+++ qt-2.3.9-snapshot-20041211/src/kernel/qwsmouse_qws.cpp -@@ -7,6 +7,14 @@ - ** - ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. - ** -+** Portions Copyright (C) 2003 Texas Instruments, Inc. -+** Rights to said portions for use under the GPL and QPL licenses -+** are hereby granted to Trolltech AS. -+** -+** Portions Copyright (C) 2004 Holger Hans Peter Freyther <freyther@handhelds.org> -+** Rights to said portions for use under the GPL and QPL licenses -+** are hereby granted to Trolltech AS. -+** - ** This file is part of the kernel module of the Qt GUI Toolkit. - ** - ** This file may be distributed and/or modified under the terms of the -@@ -60,6 +68,10 @@ - #include <linux/tpanel.h> - #endif - -+#ifdef QWS_TSLIB -+#include <tslib.h> -+#endif -+ - //#define QT_QWS_K2 - - #if defined(QT_QWS_IPAQ) || defined(QT_QWS_K2) -@@ -1124,6 +1136,221 @@ - return sent; - } - -+ -+class QTSLibHandler : public QCalibratedMouseHandler -+{ -+ Q_OBJECT -+public: -+ QTSLibHandler(); -+ ~QTSLibHandler(); -+ -+ virtual void clearCalibration(); -+ virtual void calibrate( QWSPointerCalibrationData * ); -+ -+ static int sortByX( const void*, const void* ); -+ static int sortByY( const void*, const void* ); -+private: -+ void openTs(); -+ void closeTs(); -+ void interpolateSample(); -+ -+private: -+ bool raw : 1; -+#ifdef QWS_TSLIB -+ struct tsdev *ts; -+#endif -+ QSocketNotifier *m_notify; -+ -+private slots: -+ void readMouseData(); -+}; -+ -+QTSLibHandler::QTSLibHandler() -+ : raw(false), m_notify(0l) -+{ -+ openTs(); -+} -+ -+QTSLibHandler::~QTSLibHandler() -+{ -+ closeTs(); -+} -+ -+void QTSLibHandler::openTs() -+{ -+#ifdef QWS_TSLIB -+ char *tsdevice; -+ -+ if( ( tsdevice = getenv( "TSLIB_TSDEVICE" ) ) != NULL ) { -+ ts = ts_open( tsdevice, 1 ); -+ } else { -+ ts = ts_open( "/dev/ts", 1 ); -+ } -+ -+ if (!ts) { -+ qWarning( "Cannot open touchscreen (%s)", strerror( errno ) ); -+ return; -+ } -+ -+ if (ts_config( ts )) { -+ qWarning( "Cannot configure touchscreen (%s)", strerror( errno ) ); -+ return; -+ } -+ -+ -+ m_notify = new QSocketNotifier( ts_fd(ts), QSocketNotifier::Read, this ); -+ connect( m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData())); -+#endif -+} -+ -+void QTSLibHandler::closeTs() -+{ -+#ifdef QWS_TSLIB -+ if (ts) -+ ts_close(ts); -+ -+ delete m_notify; -+ m_notify = 0; ts = 0; -+ raw = false; -+#endif -+ -+} -+ -+void QTSLibHandler::clearCalibration() -+{ -+ raw = true; -+} -+ -+ -+void QTSLibHandler::calibrate( QWSPointerCalibrationData *cd ) -+{ -+ QPoint dev_tl = cd->devPoints[ QWSPointerCalibrationData::TopLeft ]; -+ QPoint dev_br = cd->devPoints[ QWSPointerCalibrationData::BottomRight ]; -+ QPoint screen_tl = cd->screenPoints[ QWSPointerCalibrationData::TopLeft ]; -+ QPoint screen_br = cd->screenPoints[ QWSPointerCalibrationData::BottomRight ]; -+ int a, b, c, d, e, f, s; -+ -+ s = 1 << 16; -+ -+ a = s * (screen_tl.x() - screen_br.x() ) / (dev_tl.x() - dev_br.x()); -+ b = 0; -+ c = s * screen_tl.x() - a * dev_tl.x(); -+ -+ d = 0; -+ e = s * (screen_tl.y() - screen_br.y() ) / (dev_tl.y() - dev_br.y()); -+ f = s * screen_tl.y() - e * dev_tl.y(); -+ -+ QString calFile = "/etc/pointercal"; -+#ifndef QT_NO_TEXTSTREAM -+ QFile file( calFile ); -+ if ( file.open( IO_WriteOnly ) ) { -+ QTextStream t( &file ); -+ t << a << " " << b << " " << c << " "; -+ t << d << " " << e << " " << f << " " << s; -+ file.flush(); closeTs(); -+ openTs(); -+ } else -+#endif -+ { -+ qDebug( "Could not save calibration: %s", calFile.latin1() ); -+ } -+} -+ -+void QTSLibHandler::readMouseData() -+{ -+#ifdef QWS_TSLIB -+ if(!qt_screen) -+ return; -+ -+ /* -+ * After clear Calibration -+ * we're in raw mode and do some easy median -+ * search. -+ */ -+ if (raw ) -+ return interpolateSample(); -+ -+ static struct ts_sample sample; -+ static int ret; -+ -+ /* -+ * Ok. We need to see if we can read more than one event -+ * We do this not to lose an update. -+ */ -+ while ( true ) { -+ if ((ret = ts_read(ts, &sample, 1)) != 1 ) -+ return; -+ -+ -+ QPoint pos( sample.x, sample.y ); -+ emit mouseChanged( pos, sample.pressure != 0 ? 1 : 0 ); -+ } -+#endif -+} -+ -+ -+/* -+ * Lets take all down events and then sort them -+ * and take the event in the middle. -+ * -+ * inspired by testutils.c -+ */ -+void QTSLibHandler::interpolateSample() { -+ static struct ts_sample samples[25]; -+ int index = 0; -+ int ret; -+ -+ do { -+ /* fill only the last sample again */ -+ if ( index >= 25 ) -+ index = 24; -+ -+ /* we're opened non-blocking */ -+ if((ret= ts_read_raw(ts, &samples[index], 1 ) ) != 1 ) { -+ /* no event yet, so try again */ -+ if (ret==-1 ) { -+ index--; -+ continue; -+ } -+ } -+ }while (samples[index++].pressure != 0); -+ -+ /* -+ * index is maximal 25 and we at least one sample -+ */ -+ if( index >= 25 ) -+ index = 24; -+ int x, y; -+ -+ /* -+ * now let us use the median value -+ * even index does not have an item in the middle -+ * so let us take the average of n/2 and (n/2)-1 as the middle -+ */ -+ int m = index/2; -+ ::qsort(samples, index, sizeof(ts_sample), QTSLibHandler::sortByX); -+ x = (index % 2 ) ? samples[m].x : -+ ( samples[m-1].x + samples[m].x )/2; -+ -+ ::qsort(samples, index, sizeof(ts_sample), QTSLibHandler::sortByY); -+ y = (index % 2 ) ? samples[m].y : -+ ( samples[m-1].y + samples[m].y )/2; -+ -+ emit mouseChanged( QPoint(x, y), 1 ); -+ emit mouseChanged( QPoint(0, 0), 0 ); -+} -+ -+int QTSLibHandler::sortByX( const void* one, const void* two) { -+ return reinterpret_cast<const struct ts_sample*>(one)->x - -+ reinterpret_cast<const struct ts_sample*>(two)->x; -+} -+ -+int QTSLibHandler::sortByY( const void* one, const void* two) { -+ return reinterpret_cast<const struct ts_sample*>(one)->y - -+ reinterpret_cast<const struct ts_sample*>(two)->y; -+} -+ -+ - /* - * Handler for /dev/tpanel Linux kernel driver - */ -@@ -1731,7 +1958,9 @@ - - case TPanel: - #if defined(QWS_CUSTOMTOUCHPANEL) -- handler = new QCustomTPanelHandlerPrivate(mouseProtocol,mouseDev); -+ handler = new QCustomTPanelHandlerPrivate(mouseProtocol,mouseDev); -+#elif defined(QWS_TSLIB) -+ handler = new QTSLibHandler(); - #elif defined(QT_QWS_YOPY) - handler = new QYopyTPanelHandlerPrivate(mouseProtocol,mouseDev); - #elif defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_K2) ---- qt-2.3.9-snapshot-20041211/configure~tslib.patch -+++ qt-2.3.9-snapshot-20041211/configure -@@ -406,6 +406,9 @@ - -kde) - KDE=yes - ;; -+ -tslib) -+ TSLIB=YES -+ ;; - -no-g++-exceptions) - GPLUSPLUS_EXCEPTIONS=no - ;; -@@ -1290,6 +1293,9 @@ - set to point to a KDE 2 installation. - See http://www.kde.org - -+ -tslib ............. Use the TSLib (touchscreen access library) mouse handler -+ by default, instead of the normal device default. -+ - -no-g++-exceptions . Disable exceptions on platforms using the GNU C++ - compiler by using the -fno-exceptions flag. - -@@ -1353,6 +1359,13 @@ - [ "x$SM" = "xno" ] && QT_CXX="${QT_CXX} -DQT_NO_SM_SUPPORT" - [ "x$XFT" = "xyes" ] && QT_CXX="${QT_CXX} -DQT_XFT" - [ "x$XFT" = "xno" ] && QT_CXX="${QT_CXX} -DQT_NO_XKB" -+ -+if [ "x$TSLIB" = "xyes" ] -+then -+ QT_CXX="${QT_CXX} -DQWS_TSLIB" -+ QT_LIBS="${QT_LIBS} -lts" -+fi -+ - if [ "x$THREAD" = "xyes" ] - then - cat >src-mt.mk <<EOF |