From 99fa7c8ab6198db465feca916dd9ea92e602f973 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Mon, 14 Aug 2017 11:54:05 -0400 Subject: Add a wm failure counter to start-lumina-desktop, and restart the process up to 3 times maximum. --- src-qt5/core/lumina-session/session.cpp | 1 + src-qt5/core/lumina-session/session.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src-qt5') 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 PROCS; bool stopping; + int wmfails; private slots: void stopall(); @@ -69,7 +70,7 @@ private slots: public: LSession(){ - stopping = false; + stopping = false; wmfails = 0; } ~LSession(){ } -- cgit