34 files changed, 835 insertions, 7320 deletions
@@ -1,80 +1,81 @@ 1. How to use the Opie build system ==================================== 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. You need to adjust your runtime library search path, so that the Qt/Embedded and Opie libraries can be found: export LD_LIBRARY_PATH=$OPIEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH You have to apply the patches corresponding to your Qt/Embedded version and copy the qconfig-qpe.h file to $QTDIR/src/tools: cd $QTDIR; cat $OPIEDIR/qt/qt-<version>.patch/qte<version>-all.patch | patch -p1 cp $OPIEDIR/qt/qconfig-qpe.h $QTDIR/src/tools You are now ready to configure and build Qt/Embedded cd $QTDIR echo 'yes' | ./configure -qconfig qpe -depths 4,16,24,32 -system-jpeg -system-libpng -system-zlib -no-xkb -no-sm -no-xft -qvfb make Note that the above command ( -qvfb ) compiles in the Virtual Framebuffer and is mostly meant for development on your host system. For cross compiling, you will need to use the -xplatform switch. See ./configure --help for details about the possible options. Once you have these compiled, be sure to set the PATH to ensure your (cross)compiler is available. Then do the following in the opie source tree: make clean make menuconfig Now you can move through the menu and select or deselect anything.. Exit and save the configuration and enter "make" to build everything selected. Have fun! 2. Required Libraries ================ The following Libraries are used by Opie parts. For a successful build you must install these librarys and headers. * libsdl >= 1.2.0 http://www.libsdl.org/download-1.2.php * libxine >= 1.0 RC6 http://prdownloads.sourceforge.net/xine/ * libpcap >= 0.7.2 http://www.tcpdump.org/release/ * libetpan >= 0.34 http://prdownloads.sourceforge.net/libetpan/ 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,99 +1,99 @@ # -# 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..." ); + + int pid1 = fork(); + if ( pid1 == -1 ) + { + qWarning( "qt_init() - can't perform initial fork: %s", strerror( errno ) ); + exit( -1 ); + } + if ( pid1 ) _exit( 0 ); // ok, first fork performed + + chdir( "/" ); + setsid(); + umask(0); + close(0); + close(1); + close(2); + + int fdnull = ::open( "/dev/null", O_RDWR ); + if ( fdnull == -1 ) + { + syslog( 3, "qt_init() - can't open /dev/null to redirect std{in|out|err}: %s", strerror( errno ) ); + exit( -1 ); + } + dup2( fdnull, 0 ); // stdin + dup2( fdnull, 1 ); // stdout + dup2( fdnull, 2 ); // stderr + + int pid2 = fork(); + if ( pid2 == -1 ) + { + syslog( 3, "qt_init() - can't perform initial fork: %s", strerror( errno ) ); + exit( -1 ); + } + if ( pid2 ) + { + syslog( 4, "qt_init() [%d] - successfully entered daemon mode", pid2 ); + _exit( 0 ); // ok, second fork performed + } + } + + /* + * , , + * /( )` + * \ \___ / | B E W A R E ! + * /- _ `-/ ' We are a DAEMON now! + * (/\/ \ \ /\ + * / / | ` \ + * O O ) / | + * `-^--'`< ' + * (_.) _ ) / + * `.___/` / + * `-----' / + * <----. __ / __ \ 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,142 +1,122 @@ -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 ) +{ + 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 @@ +@@ -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,205 +1,178 @@ # # 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 ) + { + qDebug( "qt_init() - terminal specification is '%d'.", qws_terminal_id ); + struct vt_stat console_stat; + int console_fd = ::open( QString().sprintf( "/dev/tty%d", qws_terminal_id ).latin1(), O_RDWR ); + if ( console_fd == -1) + { + qWarning( "qt_init() - can't open tty: %s", strerror( errno ) ); + exit( -1 ); + } + if ( ioctl( console_fd, VT_GETSTATE, &console_stat ) == -1 ) + { + qWarning( "qt_init() - can't ioctl(VT_GETSTATE): %s", strerror( errno ) ); + exit( -1 ); + } + qws_terminal_old = console_stat.v_active; + qDebug( "qt_init() - active vt is #%d, switching to #%d as requested...", qws_terminal_old, qws_terminal_id ); + + if ( ioctl( console_fd, VT_ACTIVATE, qws_terminal_id ) == -1 ) + { + qWarning( "qt_init() - can't ioctl(VT_ACTIVATE): %s", strerror( errno ) ); + exit( -1 ); + } + if ( ioctl( console_fd, VT_WAITACTIVE, qws_terminal_id ) == -1 ) + { + qWarning( "qt_init() - can't ioctl(VT_WAITACTIVE): %s", strerror( errno ) ); + exit( -1 ); + } + if ( ioctl( console_fd, KDSETMODE, KD_GRAPHICS ) == -1 ) + { + qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_GRAPHICS): %s", strerror( errno ) ); + 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 ) + { + qDebug( "qt_cleanup() - switching back to virtual terminal #%d", qws_terminal_old ); + + int console_fd = ::open( "/dev/tty0", O_RDWR ); + if ( console_fd == -1) + { + qWarning( "qt_init() - can't open tty: %s", strerror( errno ) ); + } + else + { + if ( ioctl( console_fd, KDSETMODE, KD_TEXT ) == -1 ) + { + qWarning( "qt_init() - can't ioctl(KDSETMODE:KD_TEXT): %s", strerror( errno ) ); + } + 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 |