diff options
author | Manuel Reimer <manuel.reimer@gmx.de> | 2021-02-17 07:45:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-17 07:45:45 +0100 |
commit | 3d4027762c6560af2fd126805bc0392a570cf577 (patch) | |
tree | d1dc7305fff6ec5fa118cab5c2afeadf49bb69c2 | |
parent | 36141d58b45db8dafb1e6c0a0987016151e0cd6e (diff) | |
parent | 56960c9091aeb1c1adce2aa7394291d9a1b51e6a (diff) | |
download | vdr-plugin-graphlcd-3d4027762c6560af2fd126805bc0392a570cf577.tar.gz vdr-plugin-graphlcd-3d4027762c6560af2fd126805bc0392a570cf577.tar.bz2 |
Merge pull request #6 from pbiering/fix-thread-stop1.0.5
Fix thread stop
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | display.c | 2 | ||||
-rw-r--r-- | plugin.c | 12 |
3 files changed, 13 insertions, 3 deletions
@@ -1,5 +1,7 @@ VDR Plugin 'graphlcd' Revision History ------------------------------------- +2021-02-15: Version 1.0.5 +- [pbiering] move thread cancel in new introduced Stop() function (hint by VDR maintainer) 2021-02-08: Version 1.0.4 - [pbiering] add support for new feature: NumRecordings and ListRecordings @@ -31,7 +31,7 @@ #include <vdr/remote.h> cGraphLCDDisplay::cGraphLCDDisplay() -: cThread("glcd_display"), +: cThread("graphlcd_display"), mLcd(NULL), mScreen(NULL), mSkin(NULL), @@ -39,7 +39,7 @@ static const char * kPluginName = "graphlcd"; -static const char *VERSION = "1.0.4"; +static const char *VERSION = "1.0.5"; static const char *DESCRIPTION = trNOOP("Output to graphic LCD"); static const char *MAINMENUENTRY = NULL; @@ -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,8 +121,15 @@ cPluginGraphLCD::cPluginGraphLCD() cPluginGraphLCD::~cPluginGraphLCD() { - for (unsigned int index = 0; index < GRAPHLCD_MAX_DISPLAYS; index++) +} + +void cPluginGraphLCD::Stop(void) +{ + for (unsigned int index = 0; index < GRAPHLCD_MAX_DISPLAYS; index++) { + dsyslog("graphlcd plugin: DisconnectDisplay %d", index); DisconnectDisplay(index); + }; + mExtData->ReleaseExtData(); mExtData = NULL; } |