From faccbfd4d1b74b3865cd781641070f694b5ae182 Mon Sep 17 00:00:00 2001 From: mrwastl Date: Sun, 8 May 2011 22:39:47 +0200 Subject: update display when re-enabling graphlcd via SVDRP --- plugin.c | 1 + state.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/plugin.c b/plugin.c index b81fbdd..5d63bad 100644 --- a/plugin.c +++ b/plugin.c @@ -262,6 +262,7 @@ cString cPluginGraphLCD::SVDRPCommand(const char *Command, const char *Option, i } if (strcasecmp(Command, "ON") == 0) { GraphLCDSetup.PluginActive = 1; + mDisplay->Update(); return "GraphLCD Plugin switched on."; } return NULL; diff --git a/state.c b/state.c index d9a1bf0..ee8edd8 100644 --- a/state.c +++ b/state.c @@ -606,6 +606,14 @@ void cGraphLCDState::UpdateChannelInfo(void) if (mChannel.number == 0) return; + // correct stored channel number if differs from device's channel number + // e.g after switching off plugin, switching channel, re-enabling plugin + if (mChannel.number != cDevice::CurrentChannel()) { + mutex.Lock(); + mChannel.number = cDevice::CurrentChannel(); + mutex.Unlock(); + } + mutex.Lock(); cChannel * ch = Channels.GetByNumber(mChannel.number); -- cgit v1.2.3