author | sandman <sandman> | 2002-11-24 18:21:41 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-11-24 18:21:41 (UTC) |
commit | 89bf0723eefc1e66a104fe8135f1a5389f021442 (patch) (side-by-side diff) | |
tree | a7db1ba8fa34d8226fe9baa9e7c488c86ad95445 /library/global.cpp | |
parent | ee62e73ddc29a5015c4a3e569be90dbfce4652c6 (diff) | |
download | opie-89bf0723eefc1e66a104fe8135f1a5389f021442.zip opie-89bf0723eefc1e66a104fe8135f1a5389f021442.tar.gz opie-89bf0723eefc1e66a104fe8135f1a5389f021442.tar.bz2 |
- LD_PRELOADing of libpreload.so in case the user selected [x] Force style
settings in appearance
- Some code to NOT style some applications, based on the binary name (also
selectable in appearance)
-rw-r--r-- | library/global.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/library/global.cpp b/library/global.cpp index 9b3c51e..42c2729 100644 --- a/library/global.cpp +++ b/library/global.cpp @@ -605,4 +605,16 @@ void Global::invoke(const QString &c) #endif { + char *oldpre = ::getenv ( "LD_PRELOAD" ); + + extern bool opie_block_style; + + QString newpre = QPEApplication::qpeDir ( ) + "/lib/libpreload.so"; + if ( opie_block_style && QFile::exists ( newpre )) { + if ( oldpre && oldpre [0] ) + newpre = newpre + ":" + oldpre; + ::setenv ( "LD_PRELOAD", newpre. latin1( ), 1 ); + qDebug ( "\nPRELOADING\n" ); + } + if ( !::vfork() ) { for ( int fd = 3; fd < 100; fd++ ) @@ -614,4 +626,8 @@ void Global::invoke(const QString &c) _exit( -1 ); } + if ( oldpre ) + ::setenv ( "LD_PRELOAD", oldpre, 1 ); + else + ::unsetenv ( "LD_PRELOAD" ); } StartingAppList::add( list[0] ); |