-rw-r--r-- | library/qpeapplication.cpp | 2 |
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 */ |