aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-session
diff options
context:
space:
mode:
authorWeblate <noreply@weblate.org>2016-10-11 07:55:44 +0000
committerWeblate <noreply@weblate.org>2016-10-11 07:55:44 +0000
commitdabe6a5b4d0b2786015431d9af658c6f2126eb84 (patch)
treeb02fc72af6dac7d807f14cb597bd9dd0d3691581 /src-qt5/core/lumina-session
parentTranslated using Weblate (l_SCREENSHOT@de (generated)) (diff)
parentMerge branch 'master' of github.com:trueos/lumina (diff)
downloadlumina-dabe6a5b4d0b2786015431d9af658c6f2126eb84.tar.gz
lumina-dabe6a5b4d0b2786015431d9af658c6f2126eb84.tar.bz2
lumina-dabe6a5b4d0b2786015431d9af658c6f2126eb84.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src-qt5/core/lumina-session')
-rw-r--r--src-qt5/core/lumina-session/main.cpp6
-rw-r--r--src-qt5/core/lumina-session/session.cpp9
2 files changed, 13 insertions, 2 deletions
diff --git a/src-qt5/core/lumina-session/main.cpp b/src-qt5/core/lumina-session/main.cpp
index 464302a7..24d32c52 100644
--- a/src-qt5/core/lumina-session/main.cpp
+++ b/src-qt5/core/lumina-session/main.cpp
@@ -33,8 +33,10 @@ 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
- QStringList args; args << QCoreApplication::applicationFilePath();
- if(LUtils::isValidBinary("x11vnc")){ args << "--" << "-listen" << "tcp"; } //need to be able to VNC into this session
+ QString prog = QCoreApplication::applicationFilePath().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
return QProcess::execute("xinit", args);
}
//Setup any initialization values
diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp
index 937f05d0..20c55ec4 100644
--- a/src-qt5/core/lumina-session/session.cpp
+++ b/src-qt5/core/lumina-session/session.cpp
@@ -11,6 +11,8 @@
#include <QProcessEnvironment>
#include <QDebug>
#include <QSettings>
+#include <QDir>
+
#include <LuminaUtils.h>
#include <LuminaOS.h>
@@ -56,6 +58,13 @@ void LSession::startProcess(QString ID, QString command, QStringList watchfiles)
proc->setProcessChannelMode(QProcess::MergedChannels);
proc->setProcessEnvironment( QProcessEnvironment::systemEnvironment() );
proc->setStandardOutputFile(logfile);
+ if(ID=="runtime"){
+ //Bypass for a hidden dbus requirement for Qt itself (Qt 5.5.1)
+ QDir tmp = QDir::temp();
+ if( tmp.entryList(QStringList() << "dbus-*").isEmpty() && LUtils::isValidBinary("dbus-launch")){
+ command.prepend("dbus-launch --exit-with-session ");
+ }
+ }
proc->start(command, QIODevice::ReadOnly);
connect(proc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(procFinished()) );
PROCS << proc;
bgstack15