summaryrefslogtreecommitdiff
authorsandman <sandman>2002-12-01 22:23:22 (UTC)
committer sandman <sandman>2002-12-01 22:23:22 (UTC)
commit184ab086906979cdb9c2cc8b601bcd0ecc095576 (patch) (side-by-side diff)
tree5e5ac0e6051529253bf28d5a58ae74680a47b776
parent5a550802680d32ccb0ea0d596f514de7e13c45dc (diff)
downloadopie-184ab086906979cdb9c2cc8b601bcd0ecc095576.zip
opie-184ab086906979cdb9c2cc8b601bcd0ecc095576.tar.gz
opie-184ab086906979cdb9c2cc8b601bcd0ecc095576.tar.bz2
The new preload library has to be used always, because of some binary
incompatibility between apps built with older tcs and shared libs built with newer tcs. (see cvs comment for core/launcher/libpreload/preload.cpp)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/library/global.cpp b/library/global.cpp
index 42c2729..2162e02 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -585,52 +585,50 @@ void Global::invoke(const QString &c)
slist.append( list[j].utf8() );
const char **args = new (const char *)[slist.count() + 1];
for ( j = 0; j < slist.count(); j++ )
args[j] = slist.at(j);
args[j] = NULL;
#if !defined(QT_NO_COP)
// an attempt to show a wait...
// more logic should be used, but this will be fine for the moment...
QCopEnvelope ( "QPE/System", "busy()" );
#endif
#ifdef HAVE_QUICKEXEC
QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".so";
qDebug("libfile = %s", libexe.latin1() );
if ( QFile::exists( libexe ) ) {
qDebug("calling quickexec %s", libexe.latin1() );
quickexecv( libexe.utf8().data(), (const char **)args );
} else
#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 ( 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++ )
::close( fd );
::setpgid( ::getpid(), ::getppid() );
// Try bindir first, so that foo/bar works too
::execv( qpeDir()+"/bin/"+args[0], (char * const *)args );
::execvp( args[0], (char * const *)args );
_exit( -1 );
}
if ( oldpre )
::setenv ( "LD_PRELOAD", oldpre, 1 );
else
::unsetenv ( "LD_PRELOAD" );
}
StartingAppList::add( list[0] );
#endif //QT_NO_QWS_MULTIPROCESS
}