summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/qte/qte-2.3.10-snapshot/kernel-keymap.patch91
-rw-r--r--packages/qte/qte-2.3.10-snapshot/opie.patch302
-rw-r--r--packages/qte/qte-2.3.10-snapshot/qiconview-speed.patch122
-rw-r--r--packages/qte/qte-2.3.10-snapshot/simpad.patch14
-rw-r--r--packages/qte/qte_2.3.10-snapshot.bb4
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 "