diff options
-rw-r--r-- | src-qt5/core/lumina-session/main.cpp | 2 | ||||
-rw-r--r-- | src-qt5/core/lumina-session/session.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src-qt5/core/lumina-session/main.cpp b/src-qt5/core/lumina-session/main.cpp index 24d32c52..77e553d4 100644 --- a/src-qt5/core/lumina-session/main.cpp +++ b/src-qt5/core/lumina-session/main.cpp @@ -33,7 +33,7 @@ int main(int argc, char ** argv) QString disp = QString(getenv("DISPLAY")).simplified(); if(disp.isEmpty()){ //No X session found. Go ahead and re-init this binary within an xinit call - QString prog = QCoreApplication::applicationFilePath().section("/",-1); + QString prog = QString(argv[0]).section("/",-1); LUtils::isValidBinary(prog); //will adjust the path to be absolute QStringList args; args << prog; //if(LUtils::isValidBinary("x11vnc")){ args << "--" << "-listen" << "tcp"; } //need to be able to VNC into this session diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp index 20c55ec4..2647e58d 100644 --- a/src-qt5/core/lumina-session/session.cpp +++ b/src-qt5/core/lumina-session/session.cpp @@ -36,7 +36,8 @@ void LSession::procFinished(){ stopped++; if(!stopping){ //See if this process is the main desktop binary - if(PROCS[i]->program().section("/",-1) == "lumina-desktop"){ stopall(); } //start closing down everything + if(PROCS[i]->objectName()=="runtime"){ stopall(); } + //if(PROCS[i]->program().section("/",-1) == "lumina-desktop"){ stopall(); } //start closing down everything //else{ PROCS[i]->start(QIODevice::ReadOnly); } //restart the process break; } @@ -58,6 +59,7 @@ void LSession::startProcess(QString ID, QString command, QStringList watchfiles) proc->setProcessChannelMode(QProcess::MergedChannels); proc->setProcessEnvironment( QProcessEnvironment::systemEnvironment() ); proc->setStandardOutputFile(logfile); + proc->setObjectName(ID); if(ID=="runtime"){ //Bypass for a hidden dbus requirement for Qt itself (Qt 5.5.1) QDir tmp = QDir::temp(); |