diff options
-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; } |