summaryrefslogtreecommitdiff
path: root/core
Side-by-side diff
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/applauncher.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/launcher/applauncher.cpp b/core/launcher/applauncher.cpp
index 08a3cb4..efbf426 100644
--- a/core/launcher/applauncher.cpp
+++ b/core/launcher/applauncher.cpp
@@ -462,50 +462,51 @@ bool AppLauncher::executeBuiltin(const QString &c, const QString &document)
e << c; // that was quick ;-)
#endif
return TRUE;
}
}
}
// Convert the command line in to a list of arguments
QStringList list = QStringList::split(QRegExp(" *"),c);
QString ap=list[0];
if ( ap == "suspend" ) { // No tr
QWSServer::processKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
return TRUE;
}
return FALSE;
}
bool AppLauncher::execute(const QString &c, const QString &docParam, bool noRaise)
{
qWarning("AppLauncher::execute '%s' '%s'", (const char*) c, (const char*) docParam );
// Convert the command line in to a list of arguments
QStringList list = QStringList::split(QRegExp(" *"),c);
- if ( !docParam.isEmpty() )
- list.append( docParam );
+ QStringList arglist = QStringList::split(QRegExp(" *"),docParam);
+ for ( QStringList::Iterator it = arglist.begin(); it != arglist.end(); ++it )
+ list.append( *it );
QString appName = list[0];
if ( isRunning(appName) ) {
QCString channel = "QPE/Application/";
channel += appName.latin1();
// Need to lock it to avoid race conditions with QPEApplication::processQCopFile
QFile f(QString::fromLatin1("/tmp/qcop-msg-") + appName);
if ( !noRaise && f.open(IO_WriteOnly | IO_Append) ) {
#ifndef Q_OS_WIN32
flock(f.handle(), LOCK_EX);
#endif
QDataStream ds(&f);
QByteArray b;
QDataStream bstream(b, IO_WriteOnly);
if ( !f.size() ) {
ds << channel << QCString("raise()") << b;
if ( !waitingHeartbeat.contains( appName ) && appKillerName != appName ) {
int id = startTimer(RAISE_TIMEOUT_MS);
waitingHeartbeat.insert( appName, id );
}
}
if ( !docParam.isEmpty() ) {