summaryrefslogtreecommitdiff
authorzecke <zecke>2004-05-17 21:15:42 (UTC)
committer zecke <zecke>2004-05-17 21:15:42 (UTC)
commit598c9bc76840120fa3efdb000461bae2c1fef639 (patch) (unidiff)
tree4cf0c66149f7bee38a2bcface9e7fbfd0d28b85a
parent1827ce23d0719a22c14613dc5859093818da1d0a (diff)
downloadopie-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...
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Rules.make3
-rw-r--r--config.in4
-rw-r--r--library/qpeapplication.h4
-rw-r--r--library/qt_override.cpp9
4 files changed, 18 insertions, 2 deletions
diff --git a/Rules.make b/Rules.make
index 7fa0178..568f6cf 100644
--- a/Rules.make
+++ b/Rules.make
@@ -48,6 +48,9 @@ endif
48ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) 48ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y)
49 echo CONFIG += no-override >> $@ 49 echo CONFIG += no-override >> $@
50endif 50endif
51ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y)
52 echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@
53endif
51ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) 54ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y)
52 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ 55 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@
53endif 56endif
diff --git a/config.in b/config.in
index 99341e6..124bc2a 100644
--- a/config.in
+++ b/config.in
@@ -106,6 +106,10 @@ 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
109config OPIE_NO_ERASERECT_FIX
110 boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe"
111 default n
112
109config OPIE_NO_BUILTIN_SHUTDOWN 113config 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
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 8c85ad0..d2782e4 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -164,8 +164,10 @@ protected:
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
170private: 172private:
171#ifndef QT_NO_TRANSLATION 173#ifndef QT_NO_TRANSLATION
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
@@ -12,6 +12,7 @@
12 12
13#if QT_VERSION > 233 13#if QT_VERSION > 233
14 14
15#ifndef OPIE_NO_ERASE_RECT_HACKFIX
15struct color_fix_t { 16struct color_fix_t {
16 char *m_app; 17 char *m_app;
17 char *m_class; 18 char *m_class;
@@ -20,7 +21,7 @@ struct color_fix_t {
20 QColorGroup::ColorRole m_get; 21 QColorGroup::ColorRole m_get;
21}; 22};
22 23
23#ifndef OPIE_NO_OVERRIDE_QT 24
24 25
25static const color_fix_t apps_that_need_special_colors [] = { 26static 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 },
@@ -29,6 +30,10 @@ static const color_fix_t apps_that_need_special_colors [] = {
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
32static const char * const apps_that_need_pointsizes_times_10 [] = { 37static const char * const apps_that_need_pointsizes_times_10 [] = {
33 "HancomMobileWord", 38 "HancomMobileWord",
34 "hancomsheet", 39 "hancomsheet",
@@ -89,6 +94,7 @@ extern void __gmon_start__ ( )
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 ...)
@@ -110,6 +116,7 @@ void QPEApplication::polish ( QWidget *w )
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