summaryrefslogtreecommitdiff
path: root/qt/qt-2.3.7.patch/qte237-allowoverride.patch
Side-by-side diff
Diffstat (limited to 'qt/qt-2.3.7.patch/qte237-allowoverride.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.7.patch/qte237-allowoverride.patch229
1 files changed, 229 insertions, 0 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-allowoverride.patch b/qt/qt-2.3.7.patch/qte237-allowoverride.patch
new file mode 100644
index 0000000..e0629f6
--- a/dev/null
+++ b/qt/qt-2.3.7.patch/qte237-allowoverride.patch
@@ -0,0 +1,229 @@
+Qt2.3.5 -> Qt2.3.6 changed the meaning of point sizes they used
+to be multiplied with 10, some apps get confused by that and
+in Opie we allow to work around for specefic application
+
+Courtsey to Robert 'sandman' Griebl
+
+
+
+
+
+
+
+
+diff -ur qt-2.3.7-old/src/kernel/qapplication.cpp qt-2.3.7/src/kernel/qapplication.cpp
+--- qt-2.3.7-old/src/kernel/qapplication.cpp 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qapplication.cpp 2004-07-23 15:25:42.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-old/src/kernel/qapplication.h qt-2.3.7/src/kernel/qapplication.h
+--- qt-2.3.7-old/src/kernel/qapplication.h 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qapplication.h 2004-07-23 15:25:42.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-old/src/kernel/qapplication_qws.cpp qt-2.3.7/src/kernel/qapplication_qws.cpp
+--- qt-2.3.7-old/src/kernel/qapplication_qws.cpp 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qapplication_qws.cpp 2004-07-23 15:25:42.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-old/src/kernel/qfontdatabase.cpp qt-2.3.7/src/kernel/qfontdatabase.cpp
+--- qt-2.3.7-old/src/kernel/qfontdatabase.cpp 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qfontdatabase.cpp 2004-07-23 15:25:42.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-old/src/kernel/qfontdatabase.h qt-2.3.7/src/kernel/qfontdatabase.h
+--- qt-2.3.7-old/src/kernel/qfontdatabase.h 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qfontdatabase.h 2004-07-23 15:25:42.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,