diff options
Diffstat (limited to 'src-qt5/core/lumina-session')
-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(){ } |