summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--library/qpeapplication.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 6e2db7c..dff8235 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1320,65 +1320,65 @@ void QPEApplication::internalSetStyle( const QString &style )
#endif
#ifndef QT_NO_STYLE_MOTIF
else if ( style == "Motif" ) {
setStyle( new QMotifStyle );
}
#endif
#ifndef QT_NO_STYLE_MOTIFPLUS
else if ( style == "MotifPlus" ) {
setStyle( new QMotifPlusStyle );
}
#endif
// HACK for Qt2 only
else {
// style == "Liquid Style (libliquid.so)" (or "Windows XP (libxp.so)"
int p2 = style. findRev ( ']' );
int p1 = style. findRev ( '[' );
QString style2;
if (( p1 > 0 ) && ( p2 > 0 ) && (( p1 + 1 ) < p2 ))
style2 = "lib" + style. mid ( p1 + 1, p2 - p1 - 1 ). lower ( ) + ".so";
else
style2 = "lib" + style. lower ( ) + ".so";
// static QLibrary *currentlib = 0;
static void *currentlib = 0;
QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/" + style2;
do { // try/catch simulation
// QLibrary *lib = new QLibrary ( path, QLibrary::Immediately );
- void *lib = ::dlopen ( path. local8Bit ( ), RTLD_NOW | RTLD_GLOBAL );
+ void *lib = ::dlopen ( path. local8Bit ( ), RTLD_LAZY | RTLD_GLOBAL );
if ( lib ) {
//QStyle * (*fpa) ( ) = (QStyle * (*) ( )) lib-> resolve ( "allocate" );
QStyle * (*fpa) ( ) = (QStyle * (*) ( )) ::dlsym ( lib, "allocate" );
if ( fpa ) {
QStyle *sty = ( *fpa ) ( );
if ( sty ) {
setStyle ( sty );
if ( currentlib ) {
//delete currentlib;
::dlclose ( currentlib );
}
currentlib = lib;
break;
}
}
//delete lib;
::dlclose ( lib );
}
} while ( false );
}
// HACK for Qt2 only
#endif
}
/*!
\internal
*/