author | sandman <sandman> | 2002-12-07 19:44:12 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-07 19:44:12 (UTC) |
commit | 600bd3f45862be08303398348cf1254dbcb4c27b (patch) (side-by-side diff) | |
tree | ca38e7248aebe1219cbdaa7264a0fbf034e6430d | |
parent | f540fc3e9f1db3b37c0c70f445d74e586279c3a1 (diff) | |
download | opie-600bd3f45862be08303398348cf1254dbcb4c27b.zip opie-600bd3f45862be08303398348cf1254dbcb4c27b.tar.gz opie-600bd3f45862be08303398348cf1254dbcb4c27b.tar.bz2 |
Patch for Qt/E to get rid of libpreload .. we mark the functions, that we
would have to preload as WEAK and provide non-weak versions in libqpe.
We have to make sure that the original implementation is still reachable
(private: *_NonWeak) by the overrides in libqpe
-rw-r--r-- | qt/qte234-for-opie091-override.patch | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/qt/qte234-for-opie091-override.patch b/qt/qte234-for-opie091-override.patch new file mode 100644 index 0000000..ebec3f3 --- a/dev/null +++ b/qt/qte234-for-opie091-override.patch @@ -0,0 +1,178 @@ +--- ./src/kernel/qapplication.cpp.orig2 2002-12-07 17:38:53.000000000 +0100 ++++ ./src/kernel/qapplication.cpp 2002-12-07 18:21:21.000000000 +0100 +@@ -35,6 +35,8 @@ + ** + **********************************************************************/ + ++#define QT_WEAK_SYMBOL __attribute__(( weak )) ++ + #include "qobjectlist.h" + #include "qobjectdict.h" + #include "qapplication.h" +@@ -933,6 +935,11 @@ + #ifndef QT_NO_STYLE + void QApplication::setStyle( QStyle *style ) + { ++ setStyle_NonWeak ( style ); ++} ++ ++void QApplication::setStyle_NonWeak( QStyle *style ) ++{ + QStyle* old = app_style; + + if ( startingUp() ) { +@@ -1186,7 +1193,13 @@ + \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; +@@ -1288,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 ) { +--- ./src/kernel/qapplication_qws.cpp.orig2 2002-12-07 17:41:46.000000000 +0100 ++++ ./src/kernel/qapplication_qws.cpp 2002-12-07 17:42:26.000000000 +0100 +@@ -2641,6 +2641,11 @@ + */ + void QApplication::qwsSetDecoration( QWSDecoration *d ) + { ++ qwsSetDecoration_NonWeak ( d ); ++} ++ ++void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) ++{ + if ( d ) { + delete qws_decoration; + qws_decoration = d; +--- ./src/kernel/qapplication.h.orig2 2002-12-07 17:42:38.000000000 +0100 ++++ ./src/kernel/qapplication.h 2002-12-07 18:22:38.000000000 +0100 +@@ -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 + +--- ./src/kernel/qfontdatabase.h.orig2 2002-12-07 17:46:20.000000000 +0100 ++++ ./src/kernel/qfontdatabase.h 2002-12-07 18:23:22.000000000 +0100 +@@ -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, +--- ./src/kernel/qfontdatabase.cpp.orig2 2002-12-07 17:46:24.000000000 +0100 ++++ ./src/kernel/qfontdatabase.cpp 2002-12-07 18:22:53.000000000 +0100 +@@ -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 ); |