From f9ad7447225bf272b2c8f86b7baa732e687e41a8 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Fri, 16 Jul 2021 23:51:41 +0200 Subject: [PATCH] - lcd4l: fix removing start/stop hint when init script fails Conflicts: src/driver/lcd4l.h Signed-off-by: Thilo Graf --- src/driver/lcd4l.cpp | 6 ++++++ src/driver/lcd4l.h | 13 +++++++------ src/gui/lcd4l_setup.cpp | 2 ++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/driver/lcd4l.cpp b/src/driver/lcd4l.cpp index dccac69ec..c590b1d04 100644 --- a/src/driver/lcd4l.cpp +++ b/src/driver/lcd4l.cpp @@ -167,6 +167,8 @@ void CLCD4l::StartLCD4l() { if (exec_initscript("lcd4linux", "start", "systemctl")) OnAfterStart(); + else + OnAfterError(); } } @@ -188,6 +190,8 @@ void CLCD4l::StopLCD4l() if (exec_initscript("lcd4linux", "stop", "systemctl")) OnAfterStop(); + else + OnAfterError(); } void CLCD4l::SwitchLCD4l() @@ -881,6 +885,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) OnBeforeRestart(); if (exec_initscript("lcd4linux", "restart", "systemctl")) OnAfterRestart(); + else + OnAfterError(); } } } diff --git a/src/driver/lcd4l.h b/src/driver/lcd4l.h index 64c6cc12f..f63e2866e 100644 --- a/src/driver/lcd4l.h +++ b/src/driver/lcd4l.h @@ -79,12 +79,13 @@ class CLCD4l // use signal/slot handlers // That is helping to keep the GUI code away from code inside ./src/driver. - sigc::signal OnBeforeRestart, - OnAfterRestart, - OnBeforeStart, - OnAfterStart, - OnBeforeStop, - OnAfterStop; + sigc::signal OnBeforeStart, + OnAfterStart, + OnBeforeStop, + OnAfterStop, + OnBeforeRestart, + OnAfterRestart, + OnAfterError; private: std::thread *thrLCD4l; diff --git a/src/gui/lcd4l_setup.cpp b/src/gui/lcd4l_setup.cpp index 2a1968a64..bd08a197a 100644 --- a/src/gui/lcd4l_setup.cpp +++ b/src/gui/lcd4l_setup.cpp @@ -328,4 +328,6 @@ void CLCD4lSetup::connectSlots() CLCD4l::getInstance()->OnAfterStart.connect(sl_remove); CLCD4l::getInstance()->OnAfterStop.connect(sl_remove); CLCD4l::getInstance()->OnAfterRestart.connect(sl_remove); + + CLCD4l::getInstance()->OnAfterError.connect(sl_remove); }