Merge bk://openembedded@openembedded.bkbits.net/packages
authorjgrant@thegrantclan.org <jgrant@thegrantclan.org>
Fri, 8 Oct 2004 03:11:38 +0000 (03:11 +0000)
committerjgrant@thegrantclan.org <jgrant@thegrantclan.org>
Fri, 8 Oct 2004 03:11:38 +0000 (03:11 +0000)
into desknote.thegrantclan.org:/home/jgrant/zaurus/packages-current

2004/10/07 22:08:39-05:00 thegrantclan.org!jgrant
Cset exclude: jgrant@desknote.thegrantclan.org|ChangeSet|20041007214145|22126

2004/10/07 22:05:32-05:00 thegrantclan.org!jgrant
Cset exclude: jgrant@desknote.thegrantclan.org|ChangeSet|20041007215602|24057

BKrev: 4166056aoq9KAbg-FLAECKRzv7Hgvw

qte/qte-2.3.7/kernel-keymap.patch
qte/qte-2.3.7/opie.patch
wlan-ng/wlan-ng-modules_0.2.1pre22.oe

index e69de29..7f1db80 100644 (file)
@@ -0,0 +1,265 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- qt-2.3.7/src/kernel/qkeyboard_qws.cpp~kernel-keymap.patch
++++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp
+@@ -30,6 +30,34 @@
+ **
+ **********************************************************************/
++/****************************************************************************
++**
++** Keyboard Handling Redesign
++** Copyright 2003, Chris Larson <kergoth@handhelds.org>
++** 
++** TODO: (key: . = in progress, x = completed)
++**
++** [.] Tty driver should load its initial keymap from the kernel,
++**     thereby ensuring keymap consistency between X, console, and qt/e
++**     [x] Read kernel keymappings.
++**     [x] Read kernel keycode -> unicode map.
++**     [x] Use them, along with the existing keyM, to push events up.
++**     [ ] Create a new table, from transformed keycode -> qt keycode, rather
++**         than the existing raw keycode -> qt keycode.
++**     [ ] Adapt handleKey to deal with keys that have no unicode value, such as
++**         keypresses that are mapped to strings in the string table. (e.g. F keys)
++** [ ] Cursor orientation change based on display rotation should not
++**     be bound to Ipaq or 5xxx, but instead as a runtime choice based
++**     on whether or not we're using a Transformed display driver.
++** [ ] Double check that VT handling, particularly with regard to switching,
++**     is handled properly.
++** [ ] Add a generic means of dealing with additional (outside the realm of
++**     ctrl, alt, shift, altgr) modifiers.  Also ensure a means of binding
++**     a keypress/combination to a 'lock' of said additional modifiers.
++**
++**********************************************************************/
++
++
+ #include "qwindowsystem_qws.h"
+ #include "qwsutils_qws.h"
+ #include "qgfx_qws.h"
+@@ -46,6 +74,7 @@
+ #include <unistd.h>
+ #ifdef _OS_LINUX_
+ #include <linux/kd.h>
++#include <linux/keyboard.h>
+ #endif
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+@@ -53,6 +82,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <signal.h>
++#include <termios.h>
+ #ifndef QT_NO_QWS_KEYBOARD
+@@ -74,11 +104,6 @@
+ #include <sys/vt.h>
+ #endif
+-#ifdef QT_QWS_SL5XXX
+-#include <asm/sharp_char.h>
+-#endif
+-
+-#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX)
+ static int dir_keyrot = -1;
+ static int xform_dirkey(int key)
+@@ -102,7 +127,6 @@
+     int xf = qt_screen->transformOrientation() + dir_keyrot;
+     return (key-Qt::Key_Left+xf)%4+Qt::Key_Left;
+ }
+-#endif
+ #define VTSWITCHSIG SIGUSR2
+@@ -480,12 +504,18 @@
+ public:
+     QWSTtyKeyboardHandler(const QString&);
+     virtual ~QWSTtyKeyboardHandler();
++    void readKeyboardMap();
++    void readUnicodeMap();
++    void handleKey(unsigned char code);
+ private slots:
+     void readKeyboardData();
+ private:
+     struct termios origTermData;
++    unsigned short acm[E_TABSZ];
++    unsigned char kernel_map[(1<<KG_CAPSSHIFT)][NR_KEYS];
++    int current_map;
+ };
+ class QWSUsbKeyboardHandler : public QWSPC101KeyboardHandler
+@@ -625,6 +655,7 @@
+     fn = FALSE;
+     numLock = FALSE;
++#if 0
+     sharp_kbdctl_modifstat  st;
+     int dev = ::open("/dev/sharp_kbdctl", O_RDWR);
+     if( dev >= 0 ) {
+@@ -636,6 +667,7 @@
+       ::close(dev);
+     }
+ #endif
++#endif
+ #if defined(QT_QWS_IPAQ)
+     // iPAQ Action Key has ScanCode 0x60: 0x60|0x80 = 0xe0 == extended mode 1 !
+     ipaq_return_pressed = FALSE;
+@@ -1015,7 +1047,7 @@
+ // Tty keyboard
+ //
+-QWSTtyKeyboardHandler::QWSTtyKeyboardHandler(const QString& device)
++QWSTtyKeyboardHandler::QWSTtyKeyboardHandler(const QString& device) : current_map(0)
+ {
+     kbdFD=open(device.isEmpty() ? "/dev/tty0" : device.latin1(), O_RDWR | O_NDELAY, 0);
+@@ -1032,7 +1064,7 @@
+       tcgetattr( kbdFD, &termdata );
+ #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
+-      ioctl(kbdFD, KDSKBMODE, K_RAW);
++      ioctl(kbdFD, KDSKBMODE, K_MEDIUMRAW);
+ #endif
+       termdata.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP);
+@@ -1045,6 +1077,9 @@
+       cfsetospeed(&termdata, 9600);
+       tcsetattr(kbdFD, TCSANOW, &termdata);
++      readUnicodeMap();
++      readKeyboardMap();
++
+       signal(VTSWITCHSIG, vtSwitchHandler);
+ #if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
+@@ -1100,9 +1135,122 @@
+     unsigned char buf[81];
+     int n = read(kbdFD, buf, 80 );
+     for ( int loop = 0; loop < n; loop++ )
+-      doKey(buf[loop]);
++      handleKey(buf[loop]);
++}
++
++void QWSTtyKeyboardHandler::readUnicodeMap()
++{
++    if (kbdFD < 0)
++        return;
++    if (ioctl(kbdFD,GIO_UNISCRNMAP,acm) != 0)
++        return;
++}
++
++void QWSTtyKeyboardHandler::readKeyboardMap()
++{
++    struct kbentry  kbe;
++    if (kbdFD < 0)
++        return;
++
++    for (int map = 0; map < (1<<KG_CAPSSHIFT); ++map)
++    {
++        unsigned short kval;
++        kbe.kb_table = map;
++
++        for (int key = 0; key < NR_KEYS; ++key)
++        {
++            kbe.kb_index = key;
++
++            if (ioctl(kbdFD, KDGKBENT, &kbe) != 0) continue;
++
++            if ((kbe.kb_value == K_HOLE) || (kbe.kb_value == K_NOSUCHMAP)) continue;
++
++            kval = KVAL(kbe.kb_value);
++            switch (KTYP(kbe.kb_value))
++            {
++                    case KT_LETTER:
++                    case KT_LATIN:
++                    case KT_ASCII:
++                    case KT_PAD:
++                    case KT_SHIFT:
++                        kernel_map[map][key] = kbe.kb_value;
++                        //qWarning("keycode %d, map %d, type %d, val %d, acm %c\n", key, map, KTYP(kbe.kb_value), kval, acm[kval]);
++                        break;
++            }
++        }
++    }
++}
++
++static inline int map_to_modif(int current_map)
++{
++    int modifiers = 0;
++
++    if (current_map & KG_ALT)
++        modifiers |= Qt::ALT;
++    else if (current_map & KG_CTRL)
++        modifiers |= Qt::CTRL;
++    else if (current_map & KG_SHIFT)
++        modifiers |= Qt::SHIFT;
++
++    return modifiers;
+ }
++void QWSTtyKeyboardHandler::handleKey(unsigned char code)
++{
++    struct kbentry kbe;
++
++    bool release = false;
++    if (code & 0x80)
++    {
++        release = true;
++        code &= 0x7f;
++    }
++
++    unsigned short mCode = KVAL(kernel_map[current_map][code]);
++    unsigned short unicode = acm[mCode];
++
++    const QWSServer::KeyMap *currentKey = 0;
++    int qtKeyCode = Qt::Key_unknown;
++
++    currentKey = &QWSServer::keyMap()[code];
++    if ( currentKey ) qtKeyCode = currentKey->key_code;
++
++    qDebug("code %d, mCode %d, uni %c, qtKeyCode %d\n", code, mCode, unicode, qtKeyCode);
++
++    // Handle map changes based on press/release of modifiers
++    // hardcoded for now
++    int modif = -1;
++    switch (qtKeyCode)
++    {
++        case Qt::Key_Alt:
++        case Qt::Key_F22:
++            modif = (1<<KG_ALT);
++            break;
++        case Qt::Key_Control:
++            modif = (1<<KG_CTRL);
++            break;
++        case Qt::Key_Shift:
++            modif = (1<<KG_SHIFT);
++            break;
++        case Qt::Key_Left:
++        case Qt::Key_Right:
++        case Qt::Key_Up:
++        case Qt::Key_Down:
++            if (qt_screen->isTransformed())
++                qtKeyCode = xform_dirkey(qtKeyCode);
++            break;
++    }
++
++    if (modif != -1) {
++        if (release)
++            current_map &= ~modif;
++        else
++            current_map |= modif;
++    }
++
++    unsigned int uni = unicode;
++    processKeyEvent(uni & 0xff, qtKeyCode, map_to_modif(current_map), !release, 0);
++}
+ /* USB driver */
index e69de29..f3272be 100644 (file)
@@ -0,0 +1,562 @@
+diff -ur qt-2.3.7_clean/configs/linux-generic-g++-shared qt-2.3.7/configs/linux-generic-g++-shared
+--- qt-2.3.7_clean/configs/linux-generic-g++-shared    2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic-g++-shared  2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic-g++-shared-debug qt-2.3.7/configs/linux-generic-g++-shared-debug
+--- qt-2.3.7_clean/configs/linux-generic-g++-shared-debug      2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic-g++-shared-debug    2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic-g++-static qt-2.3.7/configs/linux-generic-g++-static
+--- qt-2.3.7_clean/configs/linux-generic-g++-static    2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic-g++-static  2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic-g++-static-debug qt-2.3.7/configs/linux-generic-g++-static-debug
+--- qt-2.3.7_clean/configs/linux-generic-g++-static-debug      2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic-g++-static-debug    2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic_rtti-g++-shared qt-2.3.7/configs/linux-generic_rtti-g++-shared
+--- qt-2.3.7_clean/configs/linux-generic_rtti-g++-shared       2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic_rtti-g++-shared     2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic_rtti-g++-shared-debug qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug
+--- qt-2.3.7_clean/configs/linux-generic_rtti-g++-shared-debug 2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic_rtti-g++-shared-debug       2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic_rtti-g++-static qt-2.3.7/configs/linux-generic_rtti-g++-static
+--- qt-2.3.7_clean/configs/linux-generic_rtti-g++-static       2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic_rtti-g++-static     2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-generic_rtti-g++-static-debug qt-2.3.7/configs/linux-generic_rtti-g++-static-debug
+--- qt-2.3.7_clean/configs/linux-generic_rtti-g++-static-debug 2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-generic_rtti-g++-static-debug       2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = 
+diff -ur qt-2.3.7_clean/configs/linux-x86rtti-g++-shared qt-2.3.7/configs/linux-x86rtti-g++-shared
+--- qt-2.3.7_clean/configs/linux-x86rtti-g++-shared    2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-x86rtti-g++-shared  2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = -lm
+diff -ur qt-2.3.7_clean/configs/linux-x86rtti-g++-shared-debug qt-2.3.7/configs/linux-x86rtti-g++-shared-debug
+--- qt-2.3.7_clean/configs/linux-x86rtti-g++-shared-debug      2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-x86rtti-g++-shared-debug    2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = -lm
+diff -ur qt-2.3.7_clean/configs/linux-x86rtti-g++-static qt-2.3.7/configs/linux-x86rtti-g++-static
+--- qt-2.3.7_clean/configs/linux-x86rtti-g++-static    2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-x86rtti-g++-static  2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = -lm
+diff -ur qt-2.3.7_clean/configs/linux-x86rtti-g++-static-debug qt-2.3.7/configs/linux-x86rtti-g++-static-debug
+--- qt-2.3.7_clean/configs/linux-x86rtti-g++-static-debug      2004-06-04 02:17:54.000000000 +0200
++++ qt-2.3.7/configs/linux-x86rtti-g++-static-debug    2004-06-04 02:22:25.000000000 +0200
+@@ -36,7 +36,7 @@
+ SYSCONF_LIBS_YACC     = 
+ # Linking applications
+-SYSCONF_LINK          = gcc
++SYSCONF_LINK          = g++
+ SYSCONF_LFLAGS                = 
+ SYSCONF_LIBS          = -lm
+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();
index e69de29..15ae444 100644 (file)
@@ -0,0 +1,54 @@
+DESCRIPTION = "linux-wlan-ng (prism2.x, prism3, pcmcia, pci, usb) driver for 11Mbps wireless lan cards"
+DEPENDS = "virtual/kernel"
+MAINTAINER = "Bruno Randolf <bruno.randolf@4g-systems.biz>"
+LICENSE = "GPL"
+PR = "r4"
+
+SRC_URI = "ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-${PV}.tar.bz2 \
+       file://no-compat.patch;patch=1 \
+       file://Ambit_usb.patch;patch=1 \
+       file://scripts-makefile-hostcc.diff;patch=1;pnum=0 \
+       file://wlan-ng.modutils \
+       file://wlan.agent \
+       file://config.in \
+       file://sl6kwlanctl-ng \
+       file://usbctl"
+S = "${WORKDIR}/linux-wlan-ng-${PV}"
+
+inherit module
+
+MAKE_TARGETS = "all"
+
+do_configure() {
+       cp ${WORKDIR}/config.in ${S}
+       if grep CONFIG_PCMCIA=[ym] ${STAGING_DIR}/${HOST_SYS}/kernel/kernel-config; then
+               export PRISM2_PCMCIA=y
+               export WLAN_KERN_PCMCIA=y
+       fi
+       export PRISM2_PCI=y
+       export PRISM2_PLX=n
+       export PRISM2_USB=y
+       export TARGET_ROOT_ON_HOST=${D}
+       export RC_DIR=${sysconfdir}
+       oe_runmake LINUX_SRC=${KERNEL_SOURCE} auto_config
+}
+
+do_install() {
+       oe_runmake install DESTDIR=${D} TARGET_MODDIR=
+       mkdir -p ${D}/etc/modutils/
+       mkdir -p ${D}/etc/hotplug/
+       mkdir -p ${D}/sbin/
+       install -m 0644 ${WORKDIR}/wlan-ng.modutils ${D}/etc/modutils/wlan-ng.conf
+       install -m 0755 ${WORKDIR}/wlan.agent ${D}/etc/hotplug/wlan.agent
+       install -m 0755 ${WORKDIR}/usbctl ${D}/sbin/usbctl
+       install -m 0755 ${WORKDIR}/sl6kwlanctl-ng ${D}/sbin/sl6kwlanctl-ng
+       ln -s /sbin/sl6kwlanctl-ng ${D}/sbin/wlanup
+       ln -s /sbin/sl6kwlanctl-ng ${D}/sbin/wlandown
+       install -d ${D}/${mandir}
+       mv ${D}/usr/local/man/* ${D}/${mandir}
+       rm -r ${D}/usr/local/man
+}
+
+PACKAGES_prepend = "wlan-ng-utils "
+FILES_wlan-ng-utils = "${sysconfdir} /sbin"
+FILES_${PN} = "/lib"
\ No newline at end of file