summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Bieringer <pb@bieringer.de>2021-02-15 21:14:06 +0100
committerPeter Bieringer <pb@bieringer.de>2021-02-15 21:14:06 +0100
commit97b63a6f883300254372c18a60b9efba25189d06 (patch)
tree1b73a6d423b50dc7447a6fe9844ed237df65a1eb
parent603ac03d8ff62fb29bd8e57e2c6927c791c78866 (diff)
downloadvdr-plugin-graphlcd-97b63a6f883300254372c18a60b9efba25189d06.tar.gz
vdr-plugin-graphlcd-97b63a6f883300254372c18a60b9efba25189d06.tar.bz2
fix to proper Stop(), add some debug log and rename thread matching plugin name
-rw-r--r--display.c9
-rw-r--r--plugin.c11
2 files changed, 12 insertions, 8 deletions
diff --git a/display.c b/display.c
index c1a5205..c6eabb4 100644
--- a/display.c
+++ b/display.c
@@ -31,7 +31,7 @@
#include <vdr/remote.h>
cGraphLCDDisplay::cGraphLCDDisplay()
-: cThread("glcd_display"),
+: cThread("graphlcd_display"),
mLcd(NULL),
mScreen(NULL),
mSkin(NULL),
@@ -60,6 +60,8 @@ cGraphLCDDisplay::cGraphLCDDisplay()
cGraphLCDDisplay::~cGraphLCDDisplay()
{
+ Cancel(3);
+
delete mSkin;
delete mSkinConfig;
delete mScreen;
@@ -68,11 +70,6 @@ cGraphLCDDisplay::~cGraphLCDDisplay()
delete mService;
}
-void cGraphLCDDisplay::Stop (void)
-{
- Cancel(3);
-}
-
bool cGraphLCDDisplay::Initialise(GLCD::cDriver * Lcd, const std::string & CfgPath, const std::string & SkinsPath, const std::string & SkinName)
{
std::string skinsPath;
diff --git a/plugin.c b/plugin.c
index 517c23b..1d8cd1e 100644
--- a/plugin.c
+++ b/plugin.c
@@ -93,6 +93,7 @@ public:
virtual bool ProcessArgs(int argc, char * argv[]);
virtual bool Initialize();
virtual bool Start();
+ virtual void Stop(void);
virtual void Housekeeping();
virtual const char **SVDRPHelpPages(void);
virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode);
@@ -120,12 +121,18 @@ cPluginGraphLCD::cPluginGraphLCD()
cPluginGraphLCD::~cPluginGraphLCD()
{
- for (unsigned int index = 0; index < GRAPHLCD_MAX_DISPLAYS; index++)
- DisconnectDisplay(index);
mExtData->ReleaseExtData();
mExtData = NULL;
}
+void cPluginGraphLCD::Stop(void)
+{
+ for (unsigned int index = 0; index < GRAPHLCD_MAX_DISPLAYS; index++) {
+ dsyslog("graphlcd plugin: DisconnectDisplay %d", index);
+ DisconnectDisplay(index);
+ };
+}
+
const char * cPluginGraphLCD::CommandLineHelp()
{
return " -c, --config=CFG use CFG as driver config file (default is \"" PLUGIN_GRAPHLCDCONF "\")\n"