diff options
author | Ken Moore <ken@ixsystems.com> | 2017-08-14 11:54:05 -0400 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-08-14 11:54:05 -0400 |
commit | 99fa7c8ab6198db465feca916dd9ea92e602f973 (patch) | |
tree | 81ec277aca652bf043d4df87251b8ca7013a4cf5 /src-qt5 | |
parent | Couple trivial changes to some files. (diff) | |
download | lumina-99fa7c8ab6198db465feca916dd9ea92e602f973.tar.gz lumina-99fa7c8ab6198db465feca916dd9ea92e602f973.tar.bz2 lumina-99fa7c8ab6198db465feca916dd9ea92e602f973.zip |
Add a wm failure counter to start-lumina-desktop, and restart the process up to 3 times maximum.
Diffstat (limited to 'src-qt5')
-rw-r--r-- | src-qt5/core/lumina-session/session.cpp | 1 | ||||
-rw-r--r-- | src-qt5/core/lumina-session/session.h | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp index 9aebec49..fb9c6cd1 100644 --- a/src-qt5/core/lumina-session/session.cpp +++ b/src-qt5/core/lumina-session/session.cpp @@ -39,6 +39,7 @@ void LSession::procFinished(){ if(!stopping){ //See if this process is the main desktop binary if(PROCS[i]->objectName()=="runtime"){ stopall(); } + else if(PROCS[i]->objectName()=="wm" && wmfails<3){ wmfails++; PROCS[i]->start(QIODevice::ReadOnly); } //restart the WM //if(PROCS[i]->program().section("/",-1) == "lumina-desktop"){ stopall(); } //start closing down everything //else{ PROCS[i]->start(QIODevice::ReadOnly); } //restart the process //break; diff --git a/src-qt5/core/lumina-session/session.h b/src-qt5/core/lumina-session/session.h index caa61ad6..36d67782 100644 --- a/src-qt5/core/lumina-session/session.h +++ b/src-qt5/core/lumina-session/session.h @@ -59,6 +59,7 @@ class LSession : public QObject{ private: QList<QProcess*> PROCS; bool stopping; + int wmfails; private slots: void stopall(); @@ -69,7 +70,7 @@ private slots: public: LSession(){ - stopping = false; + stopping = false; wmfails = 0; } ~LSession(){ } |