summaryrefslogtreecommitdiff
authorsandman <sandman>2002-11-25 00:15:06 (UTC)
committer sandman <sandman>2002-11-25 00:15:06 (UTC)
commitda8050fe68a443773447ee176793a30df256ea9b (patch) (unidiff)
tree702ca1fb5aa51d659b77493b15a352b18c727934
parent8383c1e7cb0aac098165c87fd4b969150010bfa7 (diff)
downloadopie-da8050fe68a443773447ee176793a30df256ea9b.zip
opie-da8050fe68a443773447ee176793a30df256ea9b.tar.gz
opie-da8050fe68a443773447ee176793a30df256ea9b.tar.bz2
Too dumb to read a man page .. QApplication::setFont is static .. just
wondering why this ever worked ..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/libpreload/preload.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/core/launcher/libpreload/preload.cpp b/core/launcher/libpreload/preload.cpp
index a94ec65..4505428 100644
--- a/core/launcher/libpreload/preload.cpp
+++ b/core/launcher/libpreload/preload.cpp
@@ -1,91 +1,92 @@
1 1
2#define _GNU_SOURCE 2#define _GNU_SOURCE
3//#define private public 3//#define private public
4//#define protected public 4//#define protected public
5 5
6#include <qwsdecoration_qws.h> 6#include <qwsdecoration_qws.h>
7#include <qcommonstyle.h> 7#include <qcommonstyle.h>
8//#include <qpe/qpeapplication.h> 8//#include <qapplication.h>
9//#include <qfont.h>
9 10
10class QStyle; 11//class QStyle;
11class QApplication; 12class QApplication;
12class QFont; 13class QFont;
13class QWSDecoration; 14//class QWSDecoration;
14 15
15#include <dlfcn.h> 16#include <dlfcn.h>
16#include <unistd.h> 17#include <unistd.h>
17#include <stdio.h> 18#include <stdio.h>
18#include <stdlib.h> 19#include <stdlib.h>
19 20
20 21
21typedef void ( *qapp_setstyle_t ) ( QStyle * ); 22typedef void ( *qapp_setstyle_t ) ( QStyle * );
22typedef void ( *qapp_setdeco_t ) ( QApplication *, QWSDecoration * ); 23typedef void ( *qapp_setdeco_t ) ( QApplication *, QWSDecoration * );
23typedef void ( *qapp_setfont_t ) ( QApplication *, const QFont &, bool, const char * ); 24typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * );
24 25
25 26
26static bool *opie_block_style_p = 0; 27static bool *opie_block_style_p = 0;
27 28
28extern "C" { 29extern "C" {
29 30
30static void *resolve_symbol ( const char *sym ) 31static void *resolve_symbol ( const char *sym )
31{ 32{
32 void *adr = ::dlsym ( RTLD_NEXT, sym ); 33 void *adr = ::dlsym ( RTLD_NEXT, sym );
33 34
34 if ( !adr ) 35 if ( !adr )
35 ::fprintf ( stderr, "PANIC: Could not resolve symbol \"%s\"\n", sym ); 36 ::fprintf ( stderr, "PANIC: Could not resolve symbol \"%s\"\n", sym );
36 37
37 return adr; 38 return adr;
38} 39}
39 40
40extern void setStyle__12QApplicationP6QStyle ( QStyle *style ) 41extern void setStyle__12QApplicationP6QStyle ( QStyle *style )
41{ 42{
42 static qapp_setstyle_t qsetstyle = 0; 43 static qapp_setstyle_t qsetstyle = 0;
43 44
44 if ( !qsetstyle ) 45 if ( !qsetstyle )
45 qsetstyle = (qapp_setstyle_t) resolve_symbol ( "setStyle__12QApplicationP6QStyle" ); 46 qsetstyle = (qapp_setstyle_t) resolve_symbol ( "setStyle__12QApplicationP6QStyle" );
46 47
47 if ( !opie_block_style_p ) 48 if ( !opie_block_style_p )
48 opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" ); 49 opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" );
49 50
50 if ( !qsetstyle || ( opie_block_style_p && *opie_block_style_p )) { 51 if ( !qsetstyle || ( opie_block_style_p && *opie_block_style_p )) {
51 delete style; 52 delete style;
52 return; 53 return;
53 } 54 }
54 else 55 else
55 ( *qsetstyle ) ( style ); 56 ( *qsetstyle ) ( style );
56} 57}
57 58
58extern void setFont__12QApplicationRC5QFontbPCc ( QApplication *app, const QFont &fnt, bool informWidgets, const char * className ) 59extern void setFont__12QApplicationRC5QFontbPCc ( const QFont &fnt, bool informWidgets, const char * className )
59{ 60{
60 static qapp_setfont_t qsetfont = 0; 61 static qapp_setfont_t qsetfont = 0;
61 62
62 if ( !qsetfont ) 63 if ( !qsetfont )
63 qsetfont = (qapp_setfont_t) resolve_symbol ( "setFont__12QApplicationRC5QFontbPCc" ); 64 qsetfont = (qapp_setfont_t) resolve_symbol ( "setFont__12QApplicationRC5QFontbPCc" );
64 65
65 if ( !opie_block_style_p ) 66 if ( !opie_block_style_p )
66 opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" ); 67 opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" );
67 68
68 if ( qsetfont && !( opie_block_style_p && *opie_block_style_p )) 69 if ( qsetfont && !( opie_block_style_p && *opie_block_style_p ))
69 ( *qsetfont ) ( app, fnt, informWidgets, className ); 70 ( *qsetfont ) ( fnt, informWidgets, className );
70} 71}
71 72
72 73
73extern void qwsSetDecoration__12QApplicationP13QWSDecoration ( QApplication *app, QWSDecoration *deco ) 74extern void qwsSetDecoration__12QApplicationP13QWSDecoration ( QApplication *app, QWSDecoration *deco )
74{ 75{
75 static qapp_setdeco_t qsetdeco = 0; 76 static qapp_setdeco_t qsetdeco = 0;
76 77
77 if ( !qsetdeco ) 78 if ( !qsetdeco )
78 qsetdeco = (qapp_setdeco_t) resolve_symbol ( "qwsSetDecoration__12QApplicationP13QWSDecoration" ); 79 qsetdeco = (qapp_setdeco_t) resolve_symbol ( "qwsSetDecoration__12QApplicationP13QWSDecoration" );
79 80
80 if ( !opie_block_style_p ) 81 if ( !opie_block_style_p )
81 opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" ); 82 opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" );
82 83
83 if ( !qsetdeco || ( opie_block_style_p && *opie_block_style_p )) { 84 if ( !qsetdeco || ( opie_block_style_p && *opie_block_style_p )) {
84 delete deco; 85 delete deco;
85 return; 86 return;
86 } 87 }
87 else 88 else
88 ( *qsetdeco ) ( app, deco ); 89 ( *qsetdeco ) ( app, deco );
89} 90}
90 91
91} 92}