From 97b63a6f883300254372c18a60b9efba25189d06 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Mon, 15 Feb 2021 21:14:06 +0100 Subject: fix to proper Stop(), add some debug log and rename thread matching plugin name --- display.c | 9 +++------ plugin.c | 11 +++++++++-- 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 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" -- cgit v1.2.3