aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-08-14 11:54:05 -0400
committerKen Moore <ken@ixsystems.com>2017-08-14 11:54:05 -0400
commit99fa7c8ab6198db465feca916dd9ea92e602f973 (patch)
tree81ec277aca652bf043d4df87251b8ca7013a4cf5 /src-qt5/core
parentCouple trivial changes to some files. (diff)
downloadlumina-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/core')
-rw-r--r--src-qt5/core/lumina-session/session.cpp1
-rw-r--r--src-qt5/core/lumina-session/session.h3
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(){ }
bgstack15