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 @@ -1404,48 +1404,60 @@ diff -ur qt-2.3.7_old/src/kernel/qgfxvnc_qws.cpp qt-2.3.7/src/kernel/qgfxvnc_qws { 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 @@ -451,48 +451,60 @@ diff -ur qt-2.3.7_old/src/tools/qglobal.h qt-2.3.7/src/tools/qglobal.h #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 * ); |