author | zecke <zecke> | 2004-09-13 14:06:48 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-09-13 14:06:48 (UTC) |
commit | 2e896a0d3d5b18a160c5cc468bee5ed129a92320 (patch) (side-by-side diff) | |
tree | d1b502c78c744911d2bace64c09ca4fa69dc4c77 | |
parent | 5880f51e9d6a4ad2c670f7679e874fc0610d850a (diff) | |
download | opie-2e896a0d3d5b18a160c5cc468bee5ed129a92320.zip opie-2e896a0d3d5b18a160c5cc468bee5ed129a92320.tar.gz opie-2e896a0d3d5b18a160c5cc468bee5ed129a92320.tar.bz2 |
GCC 3.4.2 is so standard conform that it forces the range
of enumns. This broke handling of the 'Help' button in
our decoration. What we do now is to make the 'range'
bigger so that our 'Help'-Button will fit into the range.
-rw-r--r-- | qt/qt-2.3.7.patch/qte237-all.patch | 12 | ||||
-rw-r--r-- | qt/qt-2.3.7.patch/qte237-gcc34.patch | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-all.patch b/qt/qt-2.3.7.patch/qte237-all.patch index ea03446..307e558 100644 --- a/qt/qt-2.3.7.patch/qte237-all.patch +++ b/qt/qt-2.3.7.patch/qte237-all.patch @@ -1,1451 +1,1463 @@ 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-gcc34.patch b/qt/qt-2.3.7.patch/qte237-gcc34.patch index 9a0f28c..a7f1681 100644 --- a/qt/qt-2.3.7.patch/qte237-gcc34.patch +++ b/qt/qt-2.3.7.patch/qte237-gcc34.patch @@ -1,498 +1,510 @@ 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 * ); |