diff --git a/src/driver/lcd4l.cpp b/src/driver/lcd4l.cpp index f6c642f53..7be63e182 100644 --- a/src/driver/lcd4l.cpp +++ b/src/driver/lcd4l.cpp @@ -169,6 +169,8 @@ void CLCD4l::StartLCD4l() { if (exec_initscript("lcd4linux", "start")) OnAfterStart(); + else + OnAfterError(); } } @@ -190,6 +192,8 @@ void CLCD4l::StopLCD4l() if (exec_initscript("lcd4linux", "stop")) OnAfterStop(); + else + OnAfterError(); } void CLCD4l::SwitchLCD4l() @@ -879,6 +883,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) OnBeforeRestart(); if (exec_initscript("lcd4linux", "restart")) OnAfterRestart(); + else + OnAfterError(); } } } diff --git a/src/driver/lcd4l.h b/src/driver/lcd4l.h index a3d2db323..b9c883199 100644 --- a/src/driver/lcd4l.h +++ b/src/driver/lcd4l.h @@ -67,12 +67,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, + sigc::signal OnBeforeStart, OnAfterStart, OnBeforeStop, - OnAfterStop; + OnAfterStop, + OnBeforeRestart, + OnAfterRestart, + OnAfterError; private: std::thread *thrLCD4l; diff --git a/src/gui/lcd4l_setup.cpp b/src/gui/lcd4l_setup.cpp index df4f3b0b2..e35ac98a7 100644 --- a/src/gui/lcd4l_setup.cpp +++ b/src/gui/lcd4l_setup.cpp @@ -340,4 +340,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); }