lcd4l.cpp: restart script after changing timezone

This commit is contained in:
GetAway
2022-11-06 17:00:23 +01:00
parent 4a372252bb
commit 4e1277de42
3 changed files with 20 additions and 6 deletions

View File

@@ -199,6 +199,18 @@ void CLCD4l::StopLCD4l()
OnError();
}
void CLCD4l::RestartLCD4lScript()
{
OnBeforeStart();
if (thrLCD4l && g_settings.lcd4l_support)
{
if (exec_initscript("lcd4linux", "restart", "systemctl"))
OnAfterStart();
else
OnError();
}
}
void CLCD4l::SwitchLCD4l()
{
if (thrLCD4l)
@@ -947,11 +959,7 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun)
m_Layout = Layout;
if (!firstRun)
{
OnBeforeRestart();
if (exec_initscript("lcd4linux", "restart", "systemctl"))
OnAfterRestart();
else
OnError();
RestartLCD4lScript();
}
}
}

View File

@@ -60,6 +60,7 @@ class CLCD4l
void StartLCD4l();
void StopLCD4l();
void SwitchLCD4l();
void RestartLCD4lScript();
void ForceRun() { wait4daemon = false; }
int CreateFile(const char *file, std::string content = "", bool convert = false);

View File

@@ -32,7 +32,9 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef ENABLE_LCD4LINUX
#include "driver/lcd4l.h"
#endif
#include <unistd.h>
#include "osdlang_setup.h"
@@ -126,6 +128,9 @@ int COsdLangSetup::showLocalSetup()
delete localSettings;
delete langNotifier;
delete tzNotifier;
#ifdef ENABLE_LCD4LINUX
CLCD4l::getInstance()->RestartLCD4lScript();
#endif
return res;
}