diff options
author | Michael Lauer <mickey@vanille-media.de> | 2005-02-02 20:12:25 +0000 |
---|---|---|
committer | Michael Lauer <mickey@vanille-media.de> | 2005-02-02 20:12:25 +0000 |
commit | 2231def9de88d37951291e2dc7224fa4db1f2225 (patch) | |
tree | dc92c788ebef29d14484e34b5ba49c406f9dbc07 | |
parent | 481a12ab547682d7a5fb0d23c4640dbfb149bccd (diff) |
qte-2.3.10: rediff patches
BKrev: 42013429iHM0HEWwToJKlHmy765VXw
-rw-r--r-- | packages/qte/qte-2.3.10-snapshot/kernel-keymap.patch | 91 | ||||
-rw-r--r-- | packages/qte/qte-2.3.10-snapshot/opie.patch | 302 | ||||
-rw-r--r-- | packages/qte/qte-2.3.10-snapshot/qiconview-speed.patch | 122 | ||||
-rw-r--r-- | packages/qte/qte-2.3.10-snapshot/simpad.patch | 14 | ||||
-rw-r--r-- | packages/qte/qte_2.3.10-snapshot.bb | 4 |
5 files changed, 461 insertions, 72 deletions
diff --git a/packages/qte/qte-2.3.10-snapshot/kernel-keymap.patch b/packages/qte/qte-2.3.10-snapshot/kernel-keymap.patch index fc91619ea0..7b786eb294 100644 --- a/packages/qte/qte-2.3.10-snapshot/kernel-keymap.patch +++ b/packages/qte/qte-2.3.10-snapshot/kernel-keymap.patch @@ -1,7 +1,10 @@ -Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp -=================================================================== ---- qt-2.3.10-snapshot-20050120.orig/src/kernel/qkeyboard_qws.cpp 2005-01-22 22:52:45.000000000 +0100 -+++ qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp 2005-01-25 00:00:27.506796263 +0100 + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp~kernel-keymap ++++ qt-2.3.10-snapshot-20050131/src/kernel/qkeyboard_qws.cpp @@ -30,6 +30,42 @@ ** **********************************************************************/ @@ -45,7 +48,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp #include "qwindowsystem_qws.h" #include "qwsutils_qws.h" #include "qgfx_qws.h" -@@ -44,15 +80,18 @@ +@@ -45,15 +81,18 @@ #include <ctype.h> #include <unistd.h> @@ -67,8 +70,8 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp #ifdef QT_QWS_TIP2 #include <qcopchannel_qws.h> -@@ -80,17 +119,6 @@ - #include <sys/vt.h> +@@ -135,17 +174,6 @@ + }; #endif -#ifdef QT_QWS_SL5XXX @@ -85,7 +88,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp static int dir_keyrot = -1; static int xform_dirkey(int key) -@@ -114,7 +142,6 @@ +@@ -169,7 +197,6 @@ int xf = qt_screen->transformOrientation() + dir_keyrot; return (key-Qt::Key_Left+xf)%4+Qt::Key_Left; } @@ -93,19 +96,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp #define VTSWITCHSIG SIGUSR2 -@@ -165,9 +192,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() -@@ -245,11 +272,19 @@ +@@ -300,11 +327,19 @@ { Qt::Key_F35, 0xffff , 0xffff , 0xffff }, // 21 light { Qt::Key_Escape, 0xffff , 0xffff , 0xffff }, // 22 @@ -129,7 +120,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp { Qt::Key_F33, 0xffff , 0xffff , 0xffff }, // 27 OK { Qt::Key_F12, 0xffff , 0xffff , 0xffff }, // 28 40 home -@@ -314,7 +349,7 @@ +@@ -369,7 +404,7 @@ { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63 { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64 { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65 @@ -138,19 +129,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67 { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68 { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69 -@@ -551,9 +586,9 @@ - - void doKey(uchar scancode); - -- -+ - void restoreLeds(); -- -+ - private: - bool shift; - bool alt; -@@ -594,12 +629,61 @@ +@@ -649,12 +684,61 @@ public: QWSTtyKeyboardHandler(const QString&); virtual ~QWSTtyKeyboardHandler(); @@ -212,7 +191,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp }; -@@ -759,6 +843,7 @@ +@@ -814,6 +898,7 @@ fn = FALSE; numLock = FALSE; @@ -220,7 +199,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp sharp_kbdctl_modifstat st; int dev = ::open("/dev/sharp_kbdctl", O_RDWR); if( dev >= 0 ) { -@@ -770,6 +855,7 @@ +@@ -825,6 +910,7 @@ ::close(dev); } #endif @@ -228,16 +207,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp #if defined(QT_QWS_IPAQ) // iPAQ Action Key has ScanCode 0x60: 0x60|0x80 = 0xe0 == extended mode 1 ! ipaq_return_pressed = FALSE; -@@ -809,7 +895,7 @@ - - #if !defined(QT_QWS_SL5XXX) - if (code == 224 --#if defined(QT_QWS_IPAQ) -+#if defined(QT_QWS_IPAQ) - && !ipaq_return_pressed - #endif - ) { -@@ -899,7 +985,7 @@ +@@ -954,7 +1040,7 @@ } } else if ( extended == 2 ) { switch (code) { @@ -246,7 +216,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp return; case 0x45: keyCode = Qt::Key_Pause; -@@ -1144,7 +1230,7 @@ +@@ -1199,7 +1285,7 @@ unicode = '`'; } else #endif @@ -255,7 +225,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp if (bCtrl) unicode = currentKey->ctrl_unicode; else if (bCaps) -@@ -1189,9 +1275,12 @@ +@@ -1244,9 +1330,12 @@ // // Tty keyboard // @@ -268,7 +238,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp kbdFD=open(device.isEmpty() ? "/dev/tty0" : device.latin1(), O_RDWR | O_NDELAY, 0); if ( kbdFD >= 0 ) { -@@ -1207,11 +1296,7 @@ +@@ -1262,11 +1351,7 @@ tcgetattr( kbdFD, &termdata ); #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) @@ -281,7 +251,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp #endif termdata.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP); -@@ -1224,6 +1309,9 @@ +@@ -1279,6 +1364,9 @@ cfsetospeed(&termdata, 9600); tcsetattr(kbdFD, TCSANOW, &termdata); @@ -291,15 +261,15 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp signal(VTSWITCHSIG, vtSwitchHandler); #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -@@ -1245,6 +1333,7 @@ +@@ -1300,6 +1388,7 @@ QWSTtyKeyboardHandler::~QWSTtyKeyboardHandler() { + restoreLeds(); if (kbdFD >= 0) { - #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_) -@@ -1255,13 +1344,451 @@ + +@@ -1328,13 +1417,451 @@ kbdFD = -1; } } @@ -752,7 +722,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp } typedef struct { -@@ -1366,13 +1893,13 @@ +@@ -1439,13 +1966,13 @@ return; #ifdef QT_QWS_TIP2 // custom scan codes - translate them and create a key event immediately @@ -768,7 +738,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp { case Key_Menu: case Key_Back: -@@ -1400,14 +1927,14 @@ +@@ -1473,14 +2000,14 @@ TRUE, FALSE ); } lastPress = km; @@ -787,7 +757,7 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp else #endif { -@@ -1770,10 +2297,10 @@ +@@ -1845,10 +2372,10 @@ handler = new QWSUsbKeyboardHandler(device); } else if ( type == "TTY" ) { handler = new QWSTtyKeyboardHandler(device); @@ -800,10 +770,8 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/qkeyboard_qws.cpp else { qWarning( "Keyboard type %s:%s unsupported", spec.latin1(), device.latin1() ); } -Index: qt-2.3.10-snapshot-20050120/src/kernel/keyboard_linux_to_qt.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-2.3.10-snapshot-20050120/src/kernel/keyboard_linux_to_qt.h 2005-01-24 22:28:46.000000000 +0100 +--- /dev/null ++++ qt-2.3.10-snapshot-20050131/src/kernel/keyboard_linux_to_qt.h @@ -0,0 +1,263 @@ +/* + * Generated with a small python utility found at @@ -1068,4 +1036,3 @@ Index: qt-2.3.10-snapshot-20050120/src/kernel/keyboard_linux_to_qt.h +Qt::Key_thorn, +Qt::Key_ydiaeresis +}; - diff --git a/packages/qte/qte-2.3.10-snapshot/opie.patch b/packages/qte/qte-2.3.10-snapshot/opie.patch index e69de29bb2..d754bfe51c 100644 --- a/packages/qte/qte-2.3.10-snapshot/opie.patch +++ b/packages/qte/qte-2.3.10-snapshot/opie.patch @@ -0,0 +1,302 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- qt-2.3.10-snapshot-20050131/src/kernel/qapplication.cpp~opie ++++ qt-2.3.10-snapshot-20050131/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.10-snapshot-20050131/src/kernel/qapplication.h~opie ++++ qt-2.3.10-snapshot-20050131/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.10-snapshot-20050131/src/kernel/qapplication_qws.cpp~opie ++++ qt-2.3.10-snapshot-20050131/src/kernel/qapplication_qws.cpp +@@ -3076,6 +3076,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.10-snapshot-20050131/src/kernel/qfontdatabase.cpp~opie ++++ qt-2.3.10-snapshot-20050131/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.10-snapshot-20050131/src/kernel/qfontdatabase.h~opie ++++ qt-2.3.10-snapshot-20050131/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.10-snapshot-20050131/src/kernel/qgfxraster_qws.cpp~opie ++++ qt-2.3.10-snapshot-20050131/src/kernel/qgfxraster_qws.cpp +@@ -4409,7 +4409,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.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/packages/qte/qte-2.3.10-snapshot/qiconview-speed.patch b/packages/qte/qte-2.3.10-snapshot/qiconview-speed.patch index e69de29bb2..bac9b9705f 100644 --- a/packages/qte/qte-2.3.10-snapshot/qiconview-speed.patch +++ b/packages/qte/qte-2.3.10-snapshot/qiconview-speed.patch @@ -0,0 +1,122 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- 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; +@@ -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.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 ); diff --git a/packages/qte/qte-2.3.10-snapshot/simpad.patch b/packages/qte/qte-2.3.10-snapshot/simpad.patch index 7af8330a6a..09e1a4d9a5 100644 --- a/packages/qte/qte-2.3.10-snapshot/simpad.patch +++ b/packages/qte/qte-2.3.10-snapshot/simpad.patch @@ -22,7 +22,7 @@ + * (C) 2003-2005 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> + */ + -+#ifdef QT_QWS_SIMPAD ++ + +#include <linux/switches.h> +#define SIMPAD_SWITCHES_DEVICE "/dev/misc/switches" @@ -69,7 +69,7 @@ + QTimer* repeater; + QSocketNotifier *notifier; +}; -+#endif ++ + #ifdef QT_QWS_SL5XXX #include <asm/sharp_char.h> @@ -107,7 +107,7 @@ && !ipaq_return_pressed #endif ) { -@@ -1779,9 +1834,11 @@ +@@ -1775,9 +1830,11 @@ } else { type = spec; } @@ -121,7 +121,7 @@ handler = new QWSyopyButtonsHandler(); #elif defined(QT_QWS_CASSIOPEIA) handler = new QWSVr41xxButtonsHandler(); -@@ -1816,6 +1873,218 @@ +@@ -1812,6 +1869,218 @@ return keyM; } @@ -131,7 +131,7 @@ + * SIMpad switches handler + * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> + */ -+ ++#if defined(QT_QWS_SIMPAD) + +QWSsimpadButtonsHandler::QWSsimpadButtonsHandler() + :QWSKeyboardHandler(), fd( -1 ), @@ -338,7 +338,7 @@ + processKeyEvent( 0, k, 0, true, true ); + repeater->start(repeatperiod); +} -+ ++#endif + +#endif // QT_NO_QWS_KEYBOARD --- qt-2.3.10-snapshot-20050131/src/kernel/qsoundqss_qws.cpp~simpad @@ -411,5 +411,3 @@ handler = new QTPanelHandlerPrivate(mouseProtocol,mouseDev); #elif defined(QT_QWS_CASSIOPEIA) handler = new QVrTPanelHandlerPrivate( mouseProtocol, mouseDev ); ---- qt-2.3.10-snapshot-20050131/qwindowsystem_qws.cpp -+++ /dev/null diff --git a/packages/qte/qte_2.3.10-snapshot.bb b/packages/qte/qte_2.3.10-snapshot.bb index 8c9a67d459..23ab31f2fc 100644 --- a/packages/qte/qte_2.3.10-snapshot.bb +++ b/packages/qte/qte_2.3.10-snapshot.bb @@ -5,7 +5,7 @@ MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>" LICENSE = "GPL QPL" DEPENDS = "zlib libpng jpeg tslib uicmoc-native" PROVIDES = "virtual/qte virtual/libqte2" -PR = "r8" +PR = "r9" SRC_URI = "ftp://ftp.trolltech.com/pub/qt/snapshots/qt-embedded-${PV}.tar.gz \ file://qpe.patch;patch=1 \ @@ -23,7 +23,7 @@ SRC_URI = "ftp://ftp.trolltech.com/pub/qt/snapshots/qt-embedded-${PV}.tar.gz \ file://sharp_char.h \ file://switches.h " -SRC_URI_append_simpad = "file://devfs.patch;patch=1 file://simpad.patch;patch=1 " +SRC_URI_append_simpad = "file://devfs.patch;patch=1 " SRC_URI_append_corgi = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 " SRC_URI_append_shepherd = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 " SRC_URI_append_husky = "file://kernel-keymap.patch;patch=1 file://kernel-keymap-corgi.patch;patch=1 " |