-rw-r--r-- | core/launcher/libpreload/preload.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/launcher/libpreload/preload.cpp b/core/launcher/libpreload/preload.cpp index 10d8313..cc1baac 100644 --- a/core/launcher/libpreload/preload.cpp +++ b/core/launcher/libpreload/preload.cpp | |||
@@ -8,48 +8,54 @@ | |||
8 | 8 | ||
9 | //#include <qapplication.h> | 9 | //#include <qapplication.h> |
10 | //#include <qfont.h> | 10 | //#include <qfont.h> |
11 | 11 | ||
12 | //class QStyle; | 12 | //class QStyle; |
13 | class QApplication; | 13 | class QApplication; |
14 | class QFont; | 14 | class QFont; |
15 | //class QWSDecoration; | 15 | //class QWSDecoration; |
16 | 16 | ||
17 | #include <dlfcn.h> | 17 | #include <dlfcn.h> |
18 | #include <unistd.h> | 18 | #include <unistd.h> |
19 | #include <stdio.h> | 19 | #include <stdio.h> |
20 | #include <stdlib.h> | 20 | #include <stdlib.h> |
21 | 21 | ||
22 | 22 | ||
23 | typedef void ( *qapp_setstyle_t ) ( QStyle * ); | 23 | typedef void ( *qapp_setstyle_t ) ( QStyle * ); |
24 | typedef void ( *qapp_setdeco_t ) ( QWSDecoration * ); | 24 | typedef void ( *qapp_setdeco_t ) ( QWSDecoration * ); |
25 | typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * ); | 25 | typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * ); |
26 | 26 | ||
27 | 27 | ||
28 | static int *opie_block_style_p = 0; | 28 | static int *opie_block_style_p = 0; |
29 | 29 | ||
30 | extern "C" { | 30 | extern "C" { |
31 | 31 | ||
32 | extern void __gmon_start ( ) __attribute(( weak )); | ||
33 | |||
34 | extern void __gmon_start__ ( ) | ||
35 | { | ||
36 | } | ||
37 | |||
32 | static void *resolve_symbol ( const char *sym ) | 38 | static void *resolve_symbol ( const char *sym ) |
33 | { | 39 | { |
34 | void *adr = ::dlsym ( RTLD_NEXT, sym ); | 40 | void *adr = ::dlsym ( RTLD_NEXT, sym ); |
35 | 41 | ||
36 | if ( !adr ) | 42 | if ( !adr ) |
37 | ::fprintf ( stderr, "PANIC: Could not resolve symbol \"%s\"\n", sym ); | 43 | ::fprintf ( stderr, "PANIC: Could not resolve symbol \"%s\"\n", sym ); |
38 | 44 | ||
39 | return adr; | 45 | return adr; |
40 | } | 46 | } |
41 | 47 | ||
42 | extern void setStyle__12QApplicationP6QStyle ( QStyle *style ) | 48 | extern void setStyle__12QApplicationP6QStyle ( QStyle *style ) |
43 | { | 49 | { |
44 | static qapp_setstyle_t qsetstyle = 0; | 50 | static qapp_setstyle_t qsetstyle = 0; |
45 | 51 | ||
46 | if ( !qsetstyle ) | 52 | if ( !qsetstyle ) |
47 | qsetstyle = (qapp_setstyle_t) resolve_symbol ( "setStyle__12QApplicationP6QStyle" ); | 53 | qsetstyle = (qapp_setstyle_t) resolve_symbol ( "setStyle__12QApplicationP6QStyle" ); |
48 | 54 | ||
49 | if ( !opie_block_style_p ) | 55 | if ( !opie_block_style_p ) |
50 | opie_block_style_p = (int *) resolve_symbol ( "opie_block_style" ); | 56 | opie_block_style_p = (int *) resolve_symbol ( "opie_block_style" ); |
51 | 57 | ||
52 | if ( !qsetstyle || ( opie_block_style_p && ( *opie_block_style_p & 0x01 ))) | 58 | if ( !qsetstyle || ( opie_block_style_p && ( *opie_block_style_p & 0x01 ))) |
53 | delete style; | 59 | delete style; |
54 | else | 60 | else |
55 | ( *qsetstyle ) ( style ); | 61 | ( *qsetstyle ) ( style ); |