lcd4l: fix removing start/stop hint when init script fails

Origin commit data
------------------
Branch: ni/coolstream
Commit: 921df0c713
Author: vanhofen <vanhofen@gmx.de>
Date: 2021-07-16 (Fri, 16 Jul 2021)

Origin message was:
------------------
- lcd4l: fix removing start/stop hint when init script fails

------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
vanhofen
2021-07-16 23:51:41 +02:00
parent 52410ea64e
commit 78d10543f1
3 changed files with 13 additions and 4 deletions

View File

@@ -169,6 +169,8 @@ void CLCD4l::StartLCD4l()
{ {
if (exec_initscript("lcd4linux", "start")) if (exec_initscript("lcd4linux", "start"))
OnAfterStart(); OnAfterStart();
else
OnAfterError();
} }
} }
@@ -190,6 +192,8 @@ void CLCD4l::StopLCD4l()
if (exec_initscript("lcd4linux", "stop")) if (exec_initscript("lcd4linux", "stop"))
OnAfterStop(); OnAfterStop();
else
OnAfterError();
} }
void CLCD4l::SwitchLCD4l() void CLCD4l::SwitchLCD4l()
@@ -879,6 +883,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun)
OnBeforeRestart(); OnBeforeRestart();
if (exec_initscript("lcd4linux", "restart")) if (exec_initscript("lcd4linux", "restart"))
OnAfterRestart(); OnAfterRestart();
else
OnAfterError();
} }
} }
} }

View File

@@ -67,12 +67,13 @@ class CLCD4l
// use signal/slot handlers // use signal/slot handlers
// That is helping to keep the GUI code away from code inside ./src/driver. // That is helping to keep the GUI code away from code inside ./src/driver.
sigc::signal<void> OnBeforeRestart, sigc::signal<void> OnBeforeStart,
OnAfterRestart,
OnBeforeStart,
OnAfterStart, OnAfterStart,
OnBeforeStop, OnBeforeStop,
OnAfterStop; OnAfterStop,
OnBeforeRestart,
OnAfterRestart,
OnAfterError;
private: private:
std::thread *thrLCD4l; std::thread *thrLCD4l;

View File

@@ -340,4 +340,6 @@ void CLCD4lSetup::connectSlots()
CLCD4l::getInstance()->OnAfterStart.connect(sl_remove); CLCD4l::getInstance()->OnAfterStart.connect(sl_remove);
CLCD4l::getInstance()->OnAfterStop.connect(sl_remove); CLCD4l::getInstance()->OnAfterStop.connect(sl_remove);
CLCD4l::getInstance()->OnAfterRestart.connect(sl_remove); CLCD4l::getInstance()->OnAfterRestart.connect(sl_remove);
CLCD4l::getInstance()->OnAfterError.connect(sl_remove);
} }