author | zecke <zecke> | 2004-05-17 21:15:42 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-05-17 21:15:42 (UTC) |
commit | 598c9bc76840120fa3efdb000461bae2c1fef639 (patch) (unidiff) | |
tree | 4cf0c66149f7bee38a2bcface9e7fbfd0d28b85a | |
parent | 1827ce23d0719a22c14613dc5859093818da1d0a (diff) | |
download | opie-598c9bc76840120fa3efdb000461bae2c1fef639.zip opie-598c9bc76840120fa3efdb000461bae2c1fef639.tar.gz opie-598c9bc76840120fa3efdb000461bae2c1fef639.tar.bz2 |
ich@opiezilla:~/programming/opie/head/opie$ nm lib/libopiecore2.so | grep polish
U _ZN14QPEApplication6polishEP7QWidget
ich@opiezilla:~/programming/opie/head/opie$ nm lib/libopiecore2.so | grep polish
U _ZN12QApplication6polishEP7QWidget
in qt_override we had to overwrite the Palette for some widgets for some styles (setting no
background liquid and such) we overwrote the polish method.
As we did not inherit from QPEApplication the 'polish' symbol was only internal to
libqpe and this way Opie apps worked on Opies and Sharps libqpe, and Sharp apps work
on our libqpe. Now with libopiecore the compiler tries to include different symbols as shown above.
So for now we could disable the legacy palette polishing which shouldn't hurt anyway.
OApplication is the source of all evil, we wouldn't 'pull' in the polish symbol... but having
a 'shadow' weak symbol as backup isn't good as well.
Chicken you may enable the option in config.in...
-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
@@ -45,12 +45,15 @@ ifeq ($(CONFIG_SQL_PIM_BACKEND),y) | |||
45 | else | 45 | else |
46 | echo ENABLE_SQL_PIM_BACKEND=n >> $@ | 46 | echo ENABLE_SQL_PIM_BACKEND=n >> $@ |
47 | endif | 47 | endif |
48 | ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) | 48 | ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) |
49 | echo CONFIG += no-override >> $@ | 49 | echo CONFIG += no-override >> $@ |
50 | endif | 50 | endif |
51 | ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) | ||
52 | echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ | ||
53 | endif | ||
51 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) | 54 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) |
52 | echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ | 55 | echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ |
53 | endif | 56 | endif |
54 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) | 57 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) |
55 | echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ | 58 | echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ |
56 | endif | 59 | endif |
@@ -103,12 +103,16 @@ endmenu | |||
103 | 103 | ||
104 | menu "Configuration" | 104 | menu "Configuration" |
105 | config OPIE_NO_OVERRIDE_QT | 105 | config OPIE_NO_OVERRIDE_QT |
106 | boolean "Build Opie against an unpatched version of Qt" | 106 | boolean "Build Opie against an unpatched version of Qt" |
107 | default n | 107 | default n |
108 | 108 | ||
109 | config OPIE_NO_ERASERECT_FIX | ||
110 | boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" | ||
111 | default n | ||
112 | |||
109 | config OPIE_NO_BUILTIN_SHUTDOWN | 113 | config OPIE_NO_BUILTIN_SHUTDOWN |
110 | boolean "Disable the built in shutdown application" | 114 | boolean "Disable the built in shutdown application" |
111 | default y | 115 | default y |
112 | 116 | ||
113 | config OPIE_NO_BUILTIN_CALIBRATE | 117 | config OPIE_NO_BUILTIN_CALIBRATE |
114 | boolean "Disable the built in calibrate application" | 118 | boolean "Disable the built in calibrate application" |
diff --git a/library/qpeapplication.h b/library/qpeapplication.h index 8c85ad0..d2782e4 100644 --- a/library/qpeapplication.h +++ b/library/qpeapplication.h | |||
@@ -161,14 +161,16 @@ protected: | |||
161 | virtual void restart(); | 161 | virtual void restart(); |
162 | virtual void shutdown(); | 162 | virtual void shutdown(); |
163 | bool eventFilter( QObject *, QEvent * ); | 163 | bool eventFilter( QObject *, QEvent * ); |
164 | void timerEvent( QTimerEvent * ); | 164 | void timerEvent( QTimerEvent * ); |
165 | bool raiseAppropriateWindow(); | 165 | bool raiseAppropriateWindow(); |
166 | virtual void tryQuit(); | 166 | virtual void tryQuit(); |
167 | #if QT_VERSION > 233 | 167 | #ifndef OPIE_NO_ERASE_RECT_HACKFIX |
168 | #if QT_VERSION > 233 | ||
168 | virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) | 169 | virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) |
170 | #endif | ||
169 | #endif | 171 | #endif |
170 | private: | 172 | private: |
171 | #ifndef QT_NO_TRANSLATION | 173 | #ifndef QT_NO_TRANSLATION |
172 | void installTranslation( const QString& baseName ); | 174 | void installTranslation( const QString& baseName ); |
173 | #endif | 175 | #endif |
174 | void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); | 176 | void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); |
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 | |||
@@ -9,29 +9,34 @@ | |||
9 | #include <sys/param.h> // for toolchains with old libc headers | 9 | #include <sys/param.h> // for toolchains with old libc headers |
10 | 10 | ||
11 | #include "qt_override_p.h" | 11 | #include "qt_override_p.h" |
12 | 12 | ||
13 | #if QT_VERSION > 233 | 13 | #if QT_VERSION > 233 |
14 | 14 | ||
15 | #ifndef OPIE_NO_ERASE_RECT_HACKFIX | ||
15 | struct color_fix_t { | 16 | struct color_fix_t { |
16 | char *m_app; | 17 | char *m_app; |
17 | char *m_class; | 18 | char *m_class; |
18 | char *m_name; | 19 | char *m_name; |
19 | QColorGroup::ColorRole m_set; | 20 | QColorGroup::ColorRole m_set; |
20 | QColorGroup::ColorRole m_get; | 21 | QColorGroup::ColorRole m_get; |
21 | }; | 22 | }; |
22 | 23 | ||
23 | #ifndef OPIE_NO_OVERRIDE_QT | 24 | |
24 | 25 | ||
25 | static const color_fix_t apps_that_need_special_colors [] = { | 26 | static const color_fix_t apps_that_need_special_colors [] = { |
26 | { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base }, | 27 | { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base }, |
27 | { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base }, | 28 | { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base }, |
28 | 29 | ||
29 | { 0, 0, 0, QColorGroup::Base, QColorGroup::Base } | 30 | { 0, 0, 0, QColorGroup::Base, QColorGroup::Base } |
30 | }; | 31 | }; |
31 | 32 | ||
33 | #endif | ||
34 | |||
35 | #ifndef OPIE_NO_OVERRIDE_QT | ||
36 | |||
32 | static const char * const apps_that_need_pointsizes_times_10 [] = { | 37 | static const char * const apps_that_need_pointsizes_times_10 [] = { |
33 | "HancomMobileWord", | 38 | "HancomMobileWord", |
34 | "hancomsheet", | 39 | "hancomsheet", |
35 | "HancomPresenterViewer", | 40 | "HancomPresenterViewer", |
36 | 41 | ||
37 | 0 | 42 | 0 |
@@ -86,12 +91,13 @@ extern void __gmon_start__ ( ) | |||
86 | { | 91 | { |
87 | } | 92 | } |
88 | 93 | ||
89 | } | 94 | } |
90 | 95 | ||
91 | 96 | ||
97 | #ifndef OPIE_NO_ERASE_RECT_HACKFIX | ||
92 | // Fix for apps, that use QPainter::eraseRect() which doesn't work with styles | 98 | // Fix for apps, that use QPainter::eraseRect() which doesn't work with styles |
93 | // that set a background pixmap (it would be easier to fix eraseRect(), but | 99 | // that set a background pixmap (it would be easier to fix eraseRect(), but |
94 | // TT made it an inline ...) | 100 | // TT made it an inline ...) |
95 | 101 | ||
96 | void QPEApplication::polish ( QWidget *w ) | 102 | void QPEApplication::polish ( QWidget *w ) |
97 | { | 103 | { |
@@ -107,12 +113,13 @@ void QPEApplication::polish ( QWidget *w ) | |||
107 | w-> setPalette ( pal ); | 113 | w-> setPalette ( pal ); |
108 | } | 114 | } |
109 | } | 115 | } |
110 | #endif | 116 | #endif |
111 | QApplication::polish ( w ); | 117 | QApplication::polish ( w ); |
112 | } | 118 | } |
119 | #endif | ||
113 | 120 | ||
114 | 121 | ||
115 | #ifndef OPIE_NO_OVERRIDE_QT | 122 | #ifndef OPIE_NO_OVERRIDE_QT |
116 | // Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes | 123 | // Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes |
117 | // were multiplied by 10 (which was incorrect) | 124 | // were multiplied by 10 (which was incorrect) |
118 | 125 | ||