summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/libpreload/preload.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/core/launcher/libpreload/preload.cpp b/core/launcher/libpreload/preload.cpp
index 4505428..10d8313 100644
--- a/core/launcher/libpreload/preload.cpp
+++ b/core/launcher/libpreload/preload.cpp
@@ -1,35 +1,36 @@
#define _GNU_SOURCE
//#define private public
//#define protected public
#include <qwsdecoration_qws.h>
#include <qcommonstyle.h>
+
//#include <qapplication.h>
//#include <qfont.h>
//class QStyle;
class QApplication;
class QFont;
//class QWSDecoration;
#include <dlfcn.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
typedef void ( *qapp_setstyle_t ) ( QStyle * );
-typedef void ( *qapp_setdeco_t ) ( QApplication *, QWSDecoration * );
+typedef void ( *qapp_setdeco_t ) ( QWSDecoration * );
typedef void ( *qapp_setfont_t ) ( const QFont &, bool, const char * );
-static bool *opie_block_style_p = 0;
+static int *opie_block_style_p = 0;
extern "C" {
static void *resolve_symbol ( const char *sym )
{
void *adr = ::dlsym ( RTLD_NEXT, sym );
if ( !adr )
@@ -41,52 +42,48 @@ static void *resolve_symbol ( const char *sym )
extern void setStyle__12QApplicationP6QStyle ( QStyle *style )
{
static qapp_setstyle_t qsetstyle = 0;
if ( !qsetstyle )
qsetstyle = (qapp_setstyle_t) resolve_symbol ( "setStyle__12QApplicationP6QStyle" );
if ( !opie_block_style_p )
- opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" );
+ opie_block_style_p = (int *) resolve_symbol ( "opie_block_style" );
- if ( !qsetstyle || ( opie_block_style_p && *opie_block_style_p )) {
+ if ( !qsetstyle || ( opie_block_style_p && ( *opie_block_style_p & 0x01 )))
delete style;
- return;
- }
else
( *qsetstyle ) ( style );
}
extern void setFont__12QApplicationRC5QFontbPCc ( const QFont &fnt, bool informWidgets, const char * className )
{
static qapp_setfont_t qsetfont = 0;
if ( !qsetfont )
qsetfont = (qapp_setfont_t) resolve_symbol ( "setFont__12QApplicationRC5QFontbPCc" );
if ( !opie_block_style_p )
- opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" );
+ opie_block_style_p = (int *) resolve_symbol ( "opie_block_style" );
- if ( qsetfont && !( opie_block_style_p && *opie_block_style_p ))
+ if ( qsetfont && !( opie_block_style_p && ( *opie_block_style_p & 0x02 )))
( *qsetfont ) ( fnt, informWidgets, className );
}
-extern void qwsSetDecoration__12QApplicationP13QWSDecoration ( QApplication *app, QWSDecoration *deco )
+extern void qwsSetDecoration__12QApplicationP13QWSDecoration ( QWSDecoration *deco )
{
static qapp_setdeco_t qsetdeco = 0;
if ( !qsetdeco )
qsetdeco = (qapp_setdeco_t) resolve_symbol ( "qwsSetDecoration__12QApplicationP13QWSDecoration" );
if ( !opie_block_style_p )
- opie_block_style_p = (bool *) resolve_symbol ( "opie_block_style" );
+ opie_block_style_p = (int *) resolve_symbol ( "opie_block_style" );
- if ( !qsetdeco || ( opie_block_style_p && *opie_block_style_p )) {
+ if ( !qsetdeco || ( opie_block_style_p && ( *opie_block_style_p & 0x04 )))
delete deco;
- return;
- }
else
- ( *qsetdeco ) ( app, deco );
+ ( *qsetdeco ) ( deco );
}
}