fix this again
authorLorn Potter <lpotter@trolltech.com>
Mon, 13 Sep 2004 10:10:51 +0000 (10:10 +0000)
committerLorn Potter <lpotter@trolltech.com>
Mon, 13 Sep 2004 10:10:51 +0000 (10:10 +0000)
BKrev: 4145722bsAbtC57j6gKdPctJIIhAGw

qte/qte-2.3.8-snapshot/kernel-keymap.patch
qte/qte-2.3.8-snapshot/opie.patch

index b52457e..0d1b704 100644 (file)
 -#ifdef QT_QWS_SL5XXX
 -#include <asm/sharp_char.h>
 -#endif
-+// #ifdef QT_QWS_SL5XXX
-+// #include <asm/sharp_char.h>
-+// #endif
++#ifdef QT_QWS_SL5XXX
++#include <asm/sharp_char.h>
++#endif
  
 -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX)
-+// #if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX)
++#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX)
  #define QT_QWS_AUTOREPEAT_MANUALLY
 -#endif
-+//#endif
++#endif
  
  
  
index e69de29..7d71c05 100644 (file)
@@ -0,0 +1,418 @@
+diff -ur qt-2.3.7_clean/include/qapplication.h qt-2.3.7/include/qapplication.h
+--- qt-2.3.7_clean/include/qapplication.h      2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/include/qapplication.h    2004-06-04 02:22:25.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_clean/include/qfontdatabase.h qt-2.3.7/include/qfontdatabase.h
+--- qt-2.3.7_clean/include/qfontdatabase.h     2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/include/qfontdatabase.h   2004-06-04 02:22:25.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_clean/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp
+--- qt-2.3.7_clean/src/kernel/qapplication.cpp 2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qapplication.cpp       2004-06-04 02:22:25.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_clean/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h
+--- qt-2.3.7_clean/src/kernel/qapplication.h   2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qapplication.h 2004-06-04 02:22:25.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_clean/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp
+--- qt-2.3.7_clean/src/kernel/qapplication_qws.cpp     2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qapplication_qws.cpp   2004-06-04 02:22:25.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_clean/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp
+--- qt-2.3.7_clean/src/kernel/qfontdatabase.cpp        2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qfontdatabase.cpp      2004-06-04 02:22:25.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_clean/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h
+--- qt-2.3.7_clean/src/kernel/qfontdatabase.h  2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qfontdatabase.h        2004-06-04 02:22:25.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_clean/src/kernel/qgfxraster_qws.cpp qt-2.3.7/src/kernel/qgfxraster_qws.cpp
+--- qt-2.3.7_clean/src/kernel/qgfxraster_qws.cpp       2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qgfxraster_qws.cpp     2004-06-04 02:22:25.000000000 +0200
+@@ -4237,7 +4237,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
+diff -ur qt-2.3.7_clean/src/kernel/qkeyboard_qws.cpp qt-2.3.7/src/kernel/qkeyboard_qws.cpp
+--- qt-2.3.7_clean/src/kernel/qkeyboard_qws.cpp        2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp      2004-06-04 02:22:25.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_clean/src/kernel/qwindowsystem_qws.cpp qt-2.3.7/src/kernel/qwindowsystem_qws.cpp
+--- qt-2.3.7_clean/src/kernel/qwindowsystem_qws.cpp    2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp  2004-06-04 02:22:25.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_clean/src/widgets/qcommonstyle.cpp qt-2.3.7/src/widgets/qcommonstyle.cpp
+--- qt-2.3.7_clean/src/widgets/qcommonstyle.cpp        2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/widgets/qcommonstyle.cpp      2004-06-04 02:22:25.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_clean/src/widgets/qlistview.cpp qt-2.3.7/src/widgets/qlistview.cpp
+--- qt-2.3.7_clean/src/widgets/qlistview.cpp   2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/widgets/qlistview.cpp 2004-06-04 02:22:25.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_clean/src/widgets/qtoolbutton.cpp qt-2.3.7/src/widgets/qtoolbutton.cpp
+--- qt-2.3.7_clean/src/widgets/qtoolbutton.cpp 2004-06-04 02:17:53.000000000 +0200
++++ qt-2.3.7/src/widgets/qtoolbutton.cpp       2004-06-04 02:22:25.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();