-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 4 | ||||
-rw-r--r-- | library/qpeapplication.h | 4 | ||||
-rw-r--r-- | library/qt_override.cpp | 9 |
4 files changed, 18 insertions, 2 deletions
@@ -47,8 +47,11 @@ else endif ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) echo CONFIG += no-override >> $@ endif +ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) + echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ +endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ endif ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) @@ -105,8 +105,12 @@ menu "Configuration" config OPIE_NO_OVERRIDE_QT boolean "Build Opie against an unpatched version of Qt" default n +config OPIE_NO_ERASERECT_FIX + boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" + default n + config OPIE_NO_BUILTIN_SHUTDOWN boolean "Disable the built in shutdown application" default y diff --git a/library/qpeapplication.h b/library/qpeapplication.h index 8c85ad0..d2782e4 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h @@ -163,10 +163,12 @@ protected: bool eventFilter( QObject *, QEvent * ); void timerEvent( QTimerEvent * ); bool raiseAppropriateWindow(); virtual void tryQuit(); -#if QT_VERSION > 233 +#ifndef OPIE_NO_ERASE_RECT_HACKFIX + #if QT_VERSION > 233 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) + #endif #endif private: #ifndef QT_NO_TRANSLATION void installTranslation( const QString& baseName ); diff --git a/library/qt_override.cpp b/library/qt_override.cpp index 4d1f475..56f82d7 100644 --- a/library/qt_override.cpp +++ b/library/qt_override.cpp @@ -11,25 +11,30 @@ #include "qt_override_p.h" #if QT_VERSION > 233 +#ifndef OPIE_NO_ERASE_RECT_HACKFIX struct color_fix_t { char *m_app; char *m_class; char *m_name; QColorGroup::ColorRole m_set; QColorGroup::ColorRole m_get; }; -#ifndef OPIE_NO_OVERRIDE_QT + static const color_fix_t apps_that_need_special_colors [] = { { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base }, { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base }, { 0, 0, 0, QColorGroup::Base, QColorGroup::Base } }; +#endif + +#ifndef OPIE_NO_OVERRIDE_QT + static const char * const apps_that_need_pointsizes_times_10 [] = { "HancomMobileWord", "hancomsheet", "HancomPresenterViewer", @@ -88,8 +93,9 @@ extern void __gmon_start__ ( ) } +#ifndef OPIE_NO_ERASE_RECT_HACKFIX // Fix for apps, that use QPainter::eraseRect() which doesn't work with styles // that set a background pixmap (it would be easier to fix eraseRect(), but // TT made it an inline ...) @@ -109,8 +115,9 @@ void QPEApplication::polish ( QWidget *w ) } #endif QApplication::polish ( w ); } +#endif #ifndef OPIE_NO_OVERRIDE_QT // Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes |