summaryrefslogtreecommitdiff
path: root/qt/qt-2.3.7.patch/qte237-gcc34.patch
Side-by-side diff
Diffstat (limited to 'qt/qt-2.3.7.patch/qte237-gcc34.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.7.patch/qte237-gcc34.patch12
1 files changed, 12 insertions, 0 deletions
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 * );